-
- 1.2.1 E-R模型
-
1.2.2逻辑数据模型
-
1.3 数据库应用系统
-
- 1.3.1应用系统的数据接口
-
1.3.2应用系统架构
数据库概念:
- 数据库
把按一定模型组织的数据称为数据库(DataBase, DB)。数据库是
事务处理,信息管理等应用系统等核心和基础。
- 数据库管理系统(DataBase Management System, DBMS)
管理数据库等系统,它将大量的数据按一定的数据模型组织起来,提
供存储、维护、检索数据的功能,使应用系统可以以统一的方式方便、
及时、准确地从数据库中获取所需信息。
有人可能会问:我的数据就存放在自己电脑的excel表里就可以了,为什么还要搞个数据库呢?
那是这是因为数据库比excel有更多的优势。数据库可以存放大量的数据,允许很多人同时使用里面的数据。举个例子你就明白了,excel好比是一个移动硬盘,你使用了这个移动硬盘其他人就用不了了。数据库好比是网盘,很多人可以同时访问里面里的数据,而且网盘比移动硬盘能放更多的数据。
===============================================================================
数据库如何组织(存放)数据?
在项目开发时,必须选择一个合适的数据库管理系统将数据按一定数据模型组织起来,并对数据进行统一管理,为需要使用数据的应用程序提供一致的访问手段。数据模型主要包括关系模型、层次模型、网状模型。目前,关系模型较为常用。
关系模型以二维表格(关系表)的形式组织数据库中的数据。例如:表1.1描述了某一时刻学生图书借阅系统中的学生数据.
- 表格中的一行称为记录,一列称为一个字段,标题为字段名。
- 关系表结构表示形式:关系表名(字段名1,字段名2…字段
名n)
- 码:一个字段或字段最小组合的值可以唯一标识其对应记录。一个
表中可以有多个码,一般指定一个码为主码,在关系表中用下划线表
示。如,学生表xs(借书证号,姓名,性别,出生时间,专业,借书
量)。
========================================================================
表之间的关系:
学生表
成绩表
例如我想知道学生表里学号“0001” 的成绩是多少?那么我就可以在成绩表里去查找“学号”值是0001的行,最后在成绩表里发现有3行数据的学号都是“0001” ,对应的就找到了该学生的三门课程的成绩。关系就是数据能够对应的匹配。
E-R模型用来表示实体集与实体集之间的联系的图称为实体(entity)-联系 (relationship)模型( E-R图)。
通常,E-R模型把每一类数据对象的个体称为“实体”,而每一类对象个体的 集合称为“实体集”,例如,在图书管理系统中主要涉及“读者”(又称为学生)和 “图书”等实体集,非主要实体集还有班级、班主任等。把每个实体集涉及的信息项称为属性。
(1)实体集表示 在E-R图中,使用矩形表示实体集,使用椭圆表示属性,使用菱形表示联 系。用线段连接实体集与属性,当一个属性或属性组合指定为主码时,在实体集与属性的连接线上标记一斜线。
(2)实体集之间存在各种关系
1.一对一的联系(1 : 1) A中的一个实体至多与B中的一个实体相联系,B中的一个实体也至多与A中的一个实体相联系。例如,“班级”与“班主任”这两个实体集之间的联系是一对一的联系,因为一个班级只有一个班主任,反过来,一个班主任只属于一个班级。“班级”与“班主任”两个实体集的E-R模型如图1.2所示。
2.一对多的联系(1 : n) A中的一个实体可以与B中的多个实体相联系,而B中的一个实体至多与A中的一个实体相联系。例如,“班级”与“学生”(读者)这两个实体集之间的联系是一对多的联系,因为一个班级可有若干学生,反过来,一个学生只能属于一个班级。“班级”与“学生”两个实体集的E-R模型如图1.3所示。
3.多对多的联系(m : n) A中的一个实体可以与B中的多个实体相联系,而B中的一个实体也可与A中的多个实体相联系。例如,“读者”(学生)与“图书”这两个实体集之间的联系是多对多的联系,因为一个读者可借多本图书,反过来,一个书号的图书可被多个学生借。“读者”与“图书”两个实体集的E-R模型如图1.4所示。
练习1
设有商店和顾客两个实体,“商店”有属性:商店编号、商店名、地址、电 话,“顾客”有属性:顾客编号、姓名、地址、年龄、性别。假设顾客每次去商店购物有一个消费金额和日期。试画出E-R图,并注明属性和联系类型。
==练习2==
假设每个学生选修若干门课程,且每个学生每选一门课只有一个成绩,每个教师只担任 一门课的教学,一门课由若干教师任教。“学生”有属性:学号、姓名、地址、年龄、性别。“教师”有属性:职工号、教师姓名、职称,“课程“有属性:课程号、课程名。 试画出ER图,并注明属性和联系类型。
下面将根据三种联系从E-R图获得关系模式的方法。
1.(1 : 1)联系的E-R图到关系模式的转换
a. 每个实体集各对应一个关系模式;
b. 对于(1 : 1)的联系,既可单独对应一个关系模式,也可以不单独对应一个关系模式。
(1)联系单独对应一个关系模式,则由联系属性、参与联系的各实体集的主码属性构成关系模式,其主码可选参与联系的实体集的任一方的主码。
例如,考虑图1.2描述的“班级(bj)”与“班主任(bzr)”实体集通过属于(sy)联系E-R模型,可设计如下关系模式(下横线表示该字段为主码):
bj(班级编号,院系,专业,人数)
bzr(员工号,姓名,联系电话)
sy(员工号,班级编号)
(2)联系不单独对应一个关系模式,联系的属性及一方的主码加入另一方实体集对应的关系模式中。
例如,考虑图1.2描述的“班级(bj)”与“班主任(bzb)”实体集通过属于(sy)联系E-R模型,可设计如下关系模式:
bj(班级编号,院系,专业,人数)
bzr(员工号,姓名,联系电话,班级编号)
或者:
bj(班级编号,院系,专业,人数,员工号)
bzr(员工号,姓名,联系电话)
2.(1 : n)联系的E-R图到关系模式的转换
a. 每个实体集各对应一个关系模式;
b. 对于(1 : n)的联系,既可单独对应一个关系模式,也可以不单独对应一个
关系模式。
最后
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
姓名,联系电话)
2.(1 : n)联系的E-R图到关系模式的转换
a. 每个实体集各对应一个关系模式;
b. 对于(1 : n)的联系,既可单独对应一个关系模式,也可以不单独对应一个
关系模式。
最后
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】