我这些学习笔记,记录的都是我自己认为的知识点,可能以后再看的时候还要翻书,但是可以用来定位到准确的书中示例的位置,减少翻书重找的时间,利于自身知识体系的搭建。 self-transcendence
第一章 关系数据库介绍
关系数据库是一个二维表的集合,可以用来存储不同类型的数据信息。
1.1 数据库模型
数据模型主要包括:
概念模型:以客户的观点和想法为基础,对现实世界事物的抽象。
逻辑数据模型:用户看到的数据库中的数据模型,常用的是关系数据模型。
物理数据模型:表示数据的储存结构。
1.1.1 概念模型
在关系数据库的设计中,概念模型通常是通过E-R图(实体-关系图)来描述的。其中,E(Entity)表示实体的意思;R(Relationship)表示关系的意思。
E所说的实体可以理解为现实世界中的事物。例:学校的院系,老师等。
R所说的关系可以理解为实体和实体之间的相互联系。例:学生和老师之间的相互联系。
E-R图还有一个概念是属性(Attribute),描述实体的特征。例:老师的姓名、编号、工资。在E-R图中,关系是用来表示实体和实体之间互相联系的,有
一对一(1:1):校长和学校
一对多(1:n):班级和学生
多对多(n:m):老师和学生
E-R图有三种符号
矩形:表示实体
圆形:表示属性
菱形:表示关系
E-R图表示上面三种关系:
1.1.2 关系数据模型
在数据库管理系统的实现中,关系数据模型通过二维表的形式描述实体与属性之间的关系。两个表也有三种类型:
一对一:表a中一条数据跟表b中一条数据相互对应。
一对多:表a中一条数据对应表b中多条数据,表b中一条数据对应表a中多条数据。
多对多:表a中多条数据和表b中对条数据相互对应。
二维表是由行和列两部分组成。行用来描述实体中的具体数据,二维表中的列用来表示实体中的属性。
1.2 关系模式
关系模式是用来表示对关系的描述的。共有三种关系模式:
概念模式:也叫模式,描述数据库中的数据逻辑结构。可以理解为实体在系统数据库系统中的具体实现。例:一个关系逻辑结构对应一个二维表。
外模式:也叫用户模式,是概念模式的一部分。例:用户在数据库中看到的视图。
内模式:也叫储存模式,用来描述数据的物理结构和数据的存储方式的。例:关系数据库中索引的组织方式、数据记录的存储方式等。
1.3 常用关系数据库
1.3.1 oracle数据库
大型数据库系统,主要应用于大、中型应用系统中的服务器端。对于数据量大、并发操作多、实时性要求高的系统。
1.3.2 Sql server数据库
具有高性能。可扩展、先进的系统管理,支持windows图形化管理工具,杰出的事物处理功能。
1.3.3 Mysql数据库
是功能强大、使用灵活、多用户、多线程sql的服务器管理系统。为用户提供了丰富的应用程序接口和非常有的功能集。支持多线程,为不同的编程语言perl、php、java、python、c++语言等提供了相应的api,并且操作简单。性能高、可移植性好、安装时占用的资源少。