第15课-数据库开发及ado.net-数据库介绍,主键,外键,启动数据库,数据库身份验证方式,建表,分离数据库
第15课-数据库开发及ado.net
数据库介绍,主键,外键,启动数据库,数据库身份验证方式,建表,分离数据库
1、 学习方法
2、 多涨见识
3、 比自己强的人一起,学习更强;比自己更聪明的人在一起,学习变得更聪明。
数据库Database 数据的仓库 DB 仓库管理员DBA
数据库的特点:海量存储、查找速度快、并发性问题控制、安全性、数据完整性。
DBMS(Database Management System 数据库管理系统)(*.mdf)
MYSQL、MSSQLServer、DB2(大型)、Oracle(大型)、Access(文件)、SQLite(极其轻量级数据库)、Sybase。
数据库中的概念:
Table(表):关系数据库中的[关系]指的就是表。
列(Column)、字段(Field)、行(Row)
对数据格式化,进行查找。
一个对象表示一行数据。(虚构成类,NEW一个对象,就一行数据。)
一张表可以表示一个集合。List
思考问题:不允许表中有重复的记录。
主键(Primary Key)数据库的一种约束。
主键是数据列的唯一标识,主键有两种选择策略:业务主键和逻辑主键。(推荐用逻辑主键:自动编号)
选择什么样的列作为主键:
- 不能为空的列
- 不重复的列
- 比较稳定的列
- 可选择多列为一个组合主键(建议尽量选择单列作为主键)
表间关联、外键(Foreign Key)冗余
实例:部门表的主键是:部门ID。员工表的主键是:成员ID,在员工表中有一列是引用部门表中的主键(部门ID),则我们称这列为“外键”,则员工表为外键表,部门表为主键表。
启动数据库(MSSQLSERVER)
1、 启用服务。在运行中输入:services.msc,然后在选择要启用的服务启动。
(net start/stop mssqlserver)
2、 打开ssms.Sql Server Management Studio 管理工具。(注意:这个工具仅仅是一个可视化的管理界面而已,并不是真正的数据库核心部分。)
数据库身份验证方式
当无法使用SQL server身份验证的时候的解决办法
1、尝试使用Windows身份验证方式登录
2、 选择“实例”(是一套数据库)→右键→属性→安全性→服务器身份验证→SQL server和windows 身份验证模式。
3、 重启数据库服务。(否则第二步设置无效:net start/stop mssqlserver)
4、 继续检查“实例”(是一套数据库)下的 安全性→登录名→sa(要使用的某个账户)是否可以使用。
如果当前帐号被禁用(有一个红色向下标志),则需要启用该账户。
账户名→右键→属性→状态→登录→启用。
5、 修改账户密码:
账户名→右键→属性→常规→修改密码→确定。
局域网使用数据库:(1433端口)
配置工具→SQL Server网络设置→“实例”协议→TCP/IP协议→启用
通过设计器建库-建表
MSSQLServer的每个数据库包含:
一个主数据文件(*.mdf)必须
一个事务日志文件(*.ldf)必须
可以包含:任意多个次要数据文件(*.ndf)和多个日志文件(*.ldf)
问题:当插入有误的时候,ID直接跳过,直接有序号5.
数据库中的数据类型-分离附加数据库:
Image类型=无限制的varbinary(max) 二进制流 可用来存储图像
char(10) 固定长度数据类型,最多只能存储10个。(例:性别,男女)
varchar(10)可变长度数据 类型,最多只能存储10个。(例:用户名)
nchar(10)
char(10) 【如果数据库的排序规则不是中文,则会出现乱码】
使用char存储中文字符可能产生乱码,则使用nchar则可以保证永远正常显示。
char(1) 一个字符占一个字节(例:“a”,“1”)半个中文字
char(2) 占用俩个字节(例:“aa”,“中”)
nchar(1)=char(2) 占用俩个字节(例:“a ”,“中”)
char()跟varchar() 最大长度是8000
nchar()跟nvarchar() 最大长度是4000
dateTime 年月日时分秒
date 年月日
time 时分秒
bit 布尔类型
第15课-数据库开发及ado.net-数据库介绍,主键,外键,启动数据库,数据库身份验证方式,建表,分离数据库的更多相关文章
- 第19课-数据库开发及ado.net ADO.NET--SQLDataReader使用.SqlProFiler演示.ADoNET连接池,参数化查询.SQLHelper .通过App.Config文件获得连接字符串
第19课-数据库开发及ado.net ADO.NET--SQLDataReader使用.SqlProFiler演示.ADoNET连接池,参数化查询.SQLHelper .通过App.Config文件获 ...
- 第20课-数据库开发及ado.net 可空值类型,资料管理器,多条件查询,Case
第20课-数据库开发及ado.net 可空值类型,资料管理器,多条件查询,Case SqlHelper using System; using System.Collections.Generic; ...
- 第18课-数据库开发及ado.net 连接数据库.增.删.改向表中插入数据并且返回自动编号.SQLDataReade读取数据
第18课-数据库开发及ado.net 连接数据库.增.删.改向表中插入数据并且返回自动编号.SQLDataReade读取数据 ADO.NET 为什么要学习? 我们要搭建一个平台(Web/Winform ...
- 第17课-数据库开发及ado.net 聚合函数,模糊查询like,通配符.空值处理.order by排序.分组group by-having.类型转换-cast,Convert.union all; Select 列 into 新表;字符串函数;日期函数
第17课-数据库开发及ado.net 聚合函数,模糊查询like,通配符.空值处理.order by排序.分组group by-having.类型转换-cast,Convert.union all; ...
- 第16课-数据库开发及ado.net-数据库SQl,创建数据库和表,增删改语句,约束,top和Distinct,聚合函数介绍
第16课-数据库开发及ado.net 数据库SQl,创建数据库和表,增删改语句,约束,top和Distinct,聚合函数介绍 SQL语句入门(脚本.命令) SQL全名是结构化查询语言(Structur ...
- 关系型数据库——主键&外键的
一.什么是主键.外键: 关系型数据库中的一条记录中有若干个属性,若其中某一个属性组(注意是组)能唯一标识一条记录,该属性组就可以成为一个主键 比如 学生表(学号,姓名,性别,班级) 其中每个学 ...
- 数据库开发及ADO.NET
大部分数据库都需要数据库服务器才能运行. Catalog(分类)又叫做数据库DataBase Table(表)不同类型的东西放到不同的区域中,将这种区域叫做表. 列(Column)字段Field 主键 ...
- SQL从入门到基础 - 01 数据库开发及ADO.Net
一.数据库概述 1. 用自定义文件格式保存数据的劣势:并发性差,查找数据的速度差. 2. DBMS(DataBase Management System数据库管理系统)和数据库.平时谈到“数据库”的含 ...
- 【数据库开发】Redis key-value内存数据库介绍
Redis是一个开源的,先进的 key-value 存储可用于构建高性能,可扩展的 Web 应用程序的解决方案.Redis官方网网站是:http://www.redis.io/,如下: Redis 有 ...
随机推荐
- VS2015ASP.NET MVC5项目中Spring.NET配置方法(超详细)
首先,在ASP.NET MVC5项目右键,如下图所示,选择“管理Nuget程序包...” 然后,在弹出的页面的搜索框中输入“spring.web”,在返回结果中选择Spring.Web和Spring. ...
- .gitignore文件常用写法
一般的项目代码中会涉及到密码.key/secret等隐私内容,不适合上传github公开.这时可以使用.gitignore文件来屏蔽这些文件的提交. 你可能用到的写法如下 写法 含义 /build/ ...
- Linux启动流程与模块管理(15)
系统的启动其实是一项非常复杂的过程,因为内核得要检测硬件并加载适当的驱动程序,接下来则必须要调用程序来准备好系统运行的环境,以让用户能够顺利的操作整台主机系统,如果你能够理解系统启动的原理,那么将有助 ...
- @transactional注解,报错后数据库操作回滚失败
1. https://jingyan.baidu.com/article/3a2f7c2e27d51b26afd611ff.html 2. https://blog.csdn.net/lee_star ...
- flask框架1
说flask框架之前,必须得提一下web框架,他的作用是为了利用互联网交流工作文档,我们为什么要使用框架,因为框架的稳定性和可扩展性强并且可以降低开发难度,提高开发效率.总的来说就是避免做无用功,重复 ...
- python批量拷贝文件
普通批量拷贝文件 import os import shutil import logging from logging import handlers from colorama import Fo ...
- [LeetCode] 反转整数
题目: 给定一个 32 位有符号整数,将整数中的数字进行反转. 示例 1: 输入: 123 输出: 321 示例 2: 输入: -123 输出: -321 示例 3: 输入: 120 输出: 21 注 ...
- SDK 上报信息 史上最全 持续更新
SDK 上报信息 史上最全 持续更新 接入SDK总会遇到各种需求,有些SDK巴不得把玩家信息全部上报到他们服务器! 以下是我接SDK遇到的, 欢迎大家补全. 上报事件 注册(按道理这个应该是SDK的功 ...
- SpaceSyntax【空间句法】之DepthMapX学习:第四篇 凸多边形图分析[未完]
这一篇正式讲解分析类型中的第一个,凸多边形分析,流程图参照上一篇的. 博客园/B站/知乎/CSDN @秋意正寒(我觉得这一篇肯定很多盗图的,那么我在版头加个本篇地址吧) https://www.cnb ...
- 关于Python2和Python3之间的文本模型改变
原文地址:http://python-notes.curiousefficiency.org/en/latest/python3/questions_and_answers.html#what-act ...