前言:这里写的都是以SQLSERVER数据库为例,看上去可能会有些乱,可以通过目录来快速查阅
1.数据库概述
1.DBMS(DataBaseManagementSystem,数据库管理系统)和数据库。平时谈到“数据库”可能有两种含义:MSSQLServer、Oracle等某种DBMS;存放一堆数据表的一个分类(Catalog)
2.数据库的构成-管理软件/服务/数据文件(表,视图...)
3.不同品牌的DBMS有自己的不同的特点:MYSQL、MSSQLServer、DB2、Oracle、Access、Sybase等。对于开发人员来讲,大同小异
4.除了Access、SQLServerCE等文件型数据库之外,大部分数据库都需要数据库服务器才能运行。学习\开发时是连接本机的数据库,上线运行时是数据库运行在单独的服务器
2.为什么要使用数据库?
高效维护大量数据-检索/增/删/改
处理各个表之间的关系
压缩表数据
安全
3.SQLServer的管理
4.数据库中的概念
1.便于对各个Catalog进行个性化管理
2.避免命名冲突
列(Column)
字段(Field)
记录(Record):记录有可以被称为行(Row),可以通俗的认为它是数据表中的一行数据
主键(PrimaryKey) :
1.主键就是一个表中每个数据行的唯一标识。不会有重复值的列才能当主键。一个表可以没有主键,但是会非常难以处理,因此没有特殊理由表都要设定主键
2.主键有两种选用策略:业务主键和逻辑主键
业务主键是使用有业务意义的字段做主键,比如身份证号、银行账号等
逻辑主键是使用没有任何业务意义的字段做主键,完全给程序看的,业务人员不会看的数据。因为很难保证业务主键不会重复(身份证号重复)、不会变化(帐号升位),因此推荐用逻辑主键,如:自动增长主键和Guid
外键(ForeignKey):记录表与表的关联
索引(Index):索引可以提高数据查询的速度,减慢了数据插入和删除的速度。因为每次插入和删除的时候都需要更新索引
字段类型:
常用字段类型:bit(可选值0、1)、datetime、int、varchar、
nvarchar(可能含有中文用nvarchar)、Nvarchar(50)、Nvarchar(MAX)
varchar、nvarchar 和char(n)的区别: char(n)不足长度n的部分用空格填充
Var:Variable,可变的