数据库开发以及Asp.net
数据库Database:数据的仓库
仓库里有排货架(表),货物会分类存放。
仓库又分很多种粮仓、武 器仓库。
仓库中还会有仓库管理员(DBA)对货物进行管理。(英文文档必须会看)
数据库特点:
海量存储、查找速度快、并发性问题控制、安全性、数据完整性(保存在数据库中的数据库是争取的,是真的【数据不能重复、数据为真实的。】)。
数据库(其实也是文件),DBMS(数据库管理系统)\RDBMS 23;08
DBMS(数据库管理系统)
MySQL(速度很快,和对数据要求并不是十分严谨的地方,去掉了很多中小企业中不常用的功能)【facebook 维基百科 百度博客 新浪博客 youtobe wordpress】
MSSQLServer(与.net结合很好,只能运行windows平台下,大数据量、大交易量表现并不十分好,功能比MySQL多)。[携程网、阿里巴巴呼叫中心、速8酒店】
DB2(大型)
Oracle(大型)
Access(文件)
SQLite(及其轻量级的数据库),Sybase等。对开发人员来讲大同小异。
Table(表):关系数据库中的【关系】指的就是表。
主键(Primary Key)数据行的唯一表示。【不会重复的列才能当主键】。
主键的作用:唯一标示表中的一条记录。
特点:(1)不能重复。(2)主键不能为空,不允许为null。
选择主键的时候,根据列储存的信息信息不同,可以分为(1)业务主键(2)逻辑主键。
主键有两种选用策略:业务主键(使用有业务的意义的字段做主键,比如:身份证号、银行账号等)和逻辑主键(没有任何业务意义的字段的做主键,完全给程序员看的,业务人员不会看数据的)。【推荐使90用业务主键】
选择什么样的列做主键:
1.不允许为空的列。
2.没有重复的列。
3.与实际业务没有关系的列(逻辑主键)
4.稳定的列。(列中保存的数据不经常改变)。
5.选择单列作为主键。
外键(ForeignKey)
在一张表中如果有一列引用另一张表中的主键,这一列就为外键列。
相对来说主键被引用的那张表叫做“主键表”。
数据冗余((1)数据相同,造成储存空间浪费。(2)更新异常,删除异常。)
所以一般情况在数据库中,不允许出现数据冗余。(为了提高查询效率是允许的,牺牲储存空间)。
如何解决数据冗余?
把原来表中的数据拆分成多个表来储存。
当把表中的信息拆分成多个表来储存的时候还有一个问题:如何将这两张表中的数据关联起来?
答:使用主键和外键来进行关联,使用主外键就不能将不同表中的数据关联起来。
数据库安装
建议:安装使用Developer版本,功能与Datacenter版一模一样,只是授权方式不一样。
.mdf主数据文件(只能一个) .ldf日志文件 .ndf(任意次要文件)
创建好数据库后,至少包含两个文件:1.主数据文件(*mdf)2.日志文件(.ldf)。
每个数据库除了这两个文件还可以包含:次要数据库文件和其他文件。