一、什么是数据库?
数据库管理系统:(DataBase Management System DBMS) 为管理数据库而设计的一个电脑软件系统。
数据库:DataBase 按照一定数据结构来组织、存储和管理数据的仓库。存储在一起的相关的数据一个集合。
狭义:
数据库是“按照数据结构来组织、存储和管理数据的仓库”。是一个长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。
广义:
可以对数据进行存储管理的软件。
分为两种:关系数据库:建立在关系模型基础上的数据库 SqlServer MySQL Oracle Access
非关系数据库:不同点:不使用SQL作为查询语言。
数据库系统:数据库和数据库管理系统组成。
二、为什么需要数据库?
1、几乎所有的应用软件的后台需要数据库。
2、数据库存储数据占用小容易持久化保存。
3、存储比较安全。
4、容易维护和升级。
5、数据库移植比较容易。
6、简化数据的操作。
7、为将来学习Oracle做准备。
8、B/S架构里面包含数据库。
三、数据结构和数据库的区别
数据库是在应用软件级别研究数据的存储和操作。
数据结构是在系统软件级别研究数据的存储和操作。
四、数据的组成
数据库:文件和文件组 组成。
2.数据库文件
1)主要数据文件 存放数据和数据库的初始化信息。每个数据库有且只能一个主要数据文件。.mdf 扩展名。
2)次要数据文件 存放除了主要数据文件以外的所有数据的文件。次要数据文件并不是必须的,可以没有。如果有的话,可以是一个,也可以有多个。.ndf 扩展名
3)事务日志文件 存放用于恢复数据库的所有日志信息。每个数据库至少要有一个日志文件,也可以有多个。默认.ldf 扩展名。
3.文件组:是数据库文件的一种逻辑管理单位,它将数据库文件分成不同的文件组,方便对文件的分配和管理。分为两种类型
1) 主文件组 Primary 主要数据文件和没有明确指派给其他文件组的文件。
2) 用户自定义的文件组 Create DataBase或 alter database 语句中,fileGroup关键字指定 的文件组。
设计原则:1)文件只能是一个文件组的成员。
2)文件或文件组不能由一个以上的数据库使用
3)数据和日志信息不能属于同一个文件或文件组。
4)日志不能作为文件组的一部分。
五、数据库对象
1.表 包含数据库中所有数据的对象,行和列组成 ,用于组织和存储数据。
2.字段 表中的列 一个表可以有多个列,自己的属性:数据类型(决定了该字段存储哪种类型的数据),大小(长度)
3.视图 表(虚拟表)一张或多张表中导出的表 用户查看数据的一种方式,结构和数据是建立在对表的查询基础之上的。
4.索引 为了给用户提供一种快速访问数据的途径,索引是依赖于表而建立,检索数据时,不用对整个表进行扫描,可以快速找到所需的数据。
5.存储过程 是一组为了完成特定功能的SQL语句的集合(可以有查询、插入、修改、删除),编译后, 存储在数据库中,以名称进行调用, 当调用执行时,这些操作就会被执行。
6.触发器 在数据库中,属于用户定义的SQL事务命令集合,针对于表来说,当对表执行增删改操作时,命令就会自动触发而去执行。
7.约束 对数据表的列,进行的一种限制。可以更好的规范表中的列。
8.缺省值 对表中的列可以指定一个默认值,当进行插入时,如果没有为 这个列插入值,那么就会自动以预先设置默认值进行自动补充。
六、数据库类型
七、数据关系
什么是关系?
定义:表和表之间的联系。
实现方式:
通过设置不同形式的外键来体现表和表的不同关系。
分类:(假设是A表和B表)
1、关联映射: 一对一
一对一关系就如球队与球队所在地址之间的关系,一支球队仅有一个地址,而一个地址区也仅有一支球队。
数据表间一对一关系的表现有两种,一种是外键关联,一种是主键关联。
一对一主键关联:要求两个表的主键必须完全一致,通过两个表的主键建立关联关系。
2、 关联映射:一对多/多对一
存在最普遍的映射关系,简单来讲就如球员与球队的关系;
一对多:从球队角度来说一个球队拥有多个球员 即为一对多
多对一:从球员角度来说多个球员属于一个球队 即为多对一数据表间一对多关系如下图:
一对多的实现:在多的一方的表里面,添加外键。
3、 关联映射:多对多
多对多关系也很常见,例如学生与选修课之间的关系,一个学生可以选择多门选修课,而每个选修课又可以被多名学生选择。
数据库中的多对多关联关系一般需采用中间表的方式处理,将多对多转化为两个一对多。
数据表间多对多关系如下图:
多对多其实就是:一对多 和 多对一 的一个组合。
多对多的实现:多对多 一般要通过单独的一张表来表示。
暂无评论内容