第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 布尔类型