数据库基本概念
概念
- 数据:是数据库中存储的基本对象,是描述事物的符号记录。
- 数据的种类:文本、图形、图像、音频、视频
- 数据库(DB):是长期存储在计算机内、有组织的、可共享的大量数据的集合。
数据库的基本特征
- 数据按一定的数据模型组织、描述和存储
- 可为各种用户共享
- 冗余度较小
- 数据独立性较高
- 易扩张
数据库系统(DBS)
采用了数据库技术,有组织地、动态地存储大量相关数据,方便多用户访问的计算机系统。由四个部分组成
- 数据库:统一管理、长期存储在计算机内的,有组织的相关数据的集合
- 硬件:构成计算机系统包括存储数据所需的外部设备
- 软件:操作系统、数据库管理系统及应用程序
- 人员:系统分析和数据库设计人员、应用程序员、最终用户、数据库管理员
数据库管理系统(DBMS)的功能
实现对共享数据有效的组织、管理和存取
包括数据定义、数据库操作、数据库运行管理、数据的存储管理、数据库的建立和维护等。
三级模式-两级映像
- 内模式:管理如何存储物理的数据,对应具体物理存储文件。
- 模式:又称为概念模式,就是我们通常使用的基本表,根据应用、需求将物理数据划分成一张张表。
- 外模式:对应数据库中的视图这个级别,将表进行一定的处理后再提供给用户使用
- 外模式一模式映像:是表和视图之间的映射,存在于概念级和外部级之间,若表中数据发生了修改,只需要修改此映射,而无需修改应用程序。
- 模式一内模式映像:是表和数据的物理存储之间的映射,存在于概念级和内部级之间,若修改了数据存储方式,只需要修改此映射,而不需要去修改应用程序。
数据库设计
记住每个步骤的顺序,每个步骤的产出,每个步骤的内容
- 需求分析:分析数据存储要求,产出数据流图,需求说明书,数据字典。获得用户对系统三个要求:信息要求,处理要求,系统要求。
- 概念结构设计:设计概念结构图,一般为E-R图(实体-联系图)。产出E-R图。工作步骤:选择局部应用,逐一设计分E-R图,E-R图合并。就是一张一张表去设计最后合并。所以这里合并存在表与表之间的冲突。冲突有3类
- 属性冲突:同一属性在不同E-R图中出现。
- 命名冲突:相同意义的属性在不同表有不同命名,或者命名相同的属性在不同表有不同意义。
- 结构冲突:同一实体在不同的分E-R图有不同属性,同一对象在某一分E-R图中被抽象为实体而在另一分E-R图中又被抽象为属性。
- 逻辑结构设计:将E-R图,转换成逻辑结构模型(一般为关系模型)。产出逻辑结构模型(一般关系模型)。工作步骤包括:确定数据模型、将E-R图转换为指定的逻辑结构模型、确定完整性约束和确定用户视图。
- 物理设计:步骤包括确定数据分布,存储结构和访问方式。
- 数据库实施阶段:根据逻辑设计和物理设计阶段的结果建立数据库,编制与调试应用程序,组织数据入库,并进行试运行。
- 数据库运行和维护阶段:数据库应用系统经过试运行即可投入运行,但该阶段需要不断地对系统进行评价、调整与修改。
注:一般下面的步骤需要依赖上面所有步骤
真题
在数据库逻辑结构设计阶段,需要()阶段形成的()作为设计依据。
A.需求分析 B.概念结构设计 C.物理结构设计 D.数据库运行和维护
A.程序文档、数据字典和数据流图。
B.需求说明文档、程序文档和数据流图
C.需求说明文档、数据字典和数据流图
D.需求说明文档、数据字典和程序文档
答案:A C
数据模型
关系模型:是二维表的形式表示的实体-联系模型,是将实体-联系(E-R)模型转换而来,经过开发人员设计的。
概念模型:从用户的角度进行建模的,是现实世界到信息世界的第一抽象。是真正的实体-联系模型。
网状模型:实体类型及其实体之间的联系,一个事物和另外几个都有联系,形成一张网。
面向对象模型:采用面向对象的方法设计数据库,以对象为单位,每个对象包括属性和方法,具有类和继承的特点。
数据模型三要素
- 数据结构:所研究的对象类型的集合。
- 数据操作:对数据库中各种对象的实例允许执行的操作的集合(增删改查)。
- 数据的约束条件:一组完整性规则的集合(约束输入数据比如人的年龄800岁不可能之类的)。
E-R图
E-R图是用来描述概念数据模型,世界是由一组称作实体的基本对象和这些对象之间的联系构成的。
- 椭圆:实体的属性(实体和联系都可以有属性,比如配送联系可以有配送员属性)
- 长方形:实体(人,物,系统)(方框里有竖线的是弱实体)
- 菱形:联系
联系的两端都要填写联系类型。
- 实体:客观存在并可相互区别的事物。人、事、物或抽象概念。如:人、汽车、图书、账户、贷款。
- 弱实体和强实体:弱实体依赖于强实体,强实体的强字可以省略,弱不行。如:人员是强实体,部门经理是弱实体,部门经理依赖人员。
- 实体集:具有相同类型和共享相同属性的实体的集合,如学生、课程
- 属性:实体所具有的特性。
- 属性分类:简单属性和复合属性(简单:一个值。复合:由简单组成。如:省份是简单属性,省份、城市等组成一个复合属性地址);单值属性和多值属性(单值:一个人你年龄只有一个。多值:电话号码,一个人有多个电话号码);NULL属性(可以为空Null的属性);派生属性(计算出来的属性,如:给出了出生年月日,可以计算年龄)
- 域:属性的取值范围称为该属性的域
- 码:唯一标识,就是键。
- 联系:现实世界中事物内部以及事物之间的联系,在E-R图中反映为实体内部的联系和实体之间的联系。
- 联系类型:一对一、一对多(多对一)、多对多。
实体型联系图
- 课程和教师的关系是1:n,一个课程可以由多个老师来讲授,一个老师只能教授一个课程。课程和参考书的关系是1:n,一个课程可以有多个参考书,一本参考书只能讲授一个课程。
- 供应商和项目的关系是m:n,一个供应商可以供应多个项目,一个项目可以由多个供应商供应。供应商和零件的关系是m:n,一个供应商可以供应多种的零件,一种零件可能由多个供应商供应。
关系模型
关系模型中数据的逻辑结构是一张二维表,由行列组成。其中行是记录具体信息,所以也称为水平记录、元组。列是实体的属性。用表格结构表达实体集,就是一个表就是一个实体集。用外键标识实体间的联系。
- 优点:建立在严格的数学概念基础上;概念单一、结构简单、清晰、用户易懂易用;存取路径对用户透明,从而数据独立性、安全性好、简化数据库开发工作。
- 缺点:由于存取路径透明,查询效率往往不如非关系数据模型。
E-R转换关系模型
- 每个实体都对应一个关系模式,每个强实体就是一个表(弱实体不是,弱实体可以作为强实体的属性。强实体才是)。
- 联系是否需要生成一个关系模式(表),需要看情况分为三种
-
- 1:1联系中,联系可以放到任意的两端实体中,作为一个属性(要保证1:1的两端关联),也可以转换为一个单独的关系模式。
- 1:N联系中,联系可以单独作为一个关系模式,也可以在N端加入1端的主键(如:实体员工和实体部门,员工有属性工号,姓名,主键工号。部门有属性部门编号,部门名称,主键是部门编号。员工和部门关系就是1:N,部门是1,员工是N。就把部门的主键,部门编号加入员工的属性里。)
- M:N联系中,联系必须作为一个单独的关系模式,其主键是M和N的联合主键
真题
1、某本科高校新建教务管理系统,支撑各学院正常的教学教务管理工作。经过初步分析,系统中包含的实体有学院、教师、学生、课程等。考虑需要将本科学生的考试成绩及时通报给学生家长,新增家长实体;考虑到夜大、网络教育学生管理方式的不同,需要额外的管理数据,新增进修学生实体:规定一个学生可以选择多门课程,每门课程可以被多名学生选修;一个教师可以教授多门课程,一门课程只能被一名教师讲授。()实体之间为多对多联系,()属于弱实体对强实体的依赖联系。
A、学生、学院 B、教师、学院 C、学生、课程 D、教师、课程
A、家长、学生 B、学生、教师 C、学生、学院 D、教师、学院
答案:C A
解析:一个学生可以选择多门课程,每门课程可以被多名学生选修,因此学生和课程是多对多。弱实体依赖于强实体的存在而存在,只有学生存在,其家长信息才会存在,否则单独的家长信息无意义。
2、54-56.部门、员工和项目的关系模式及它们之间的E-R图如下所示,其中关系模式中带实下划线的属性表示主键属性。图中:部门 (部门代码,部门名称,电话)员工(员工代码,姓名,部门代码,联系方式,薪资)项目(项目编号,项目名称,承担任务)
若部门和员工关系进行自然连接运算,其结果为(54)元关系。由于员工和项目之间的联系类型为(55),所以员工和项目之间的联系需要转换成一个独立的关系模式,该关系模式的主键是(56)。
(54)A.5 B.6 C.7 D.8
(55)A.1对1 B.1对多张 C.多对1 D.多对多
(56)A.(项目名称,员工代码) B.(项目编号,员工代码) C.(项目名称,部门代码) D.(项目名称,承担任务)
答案:C D B
规范化和并发
数据库新技术
未完,待续... ...
标签:联系,数据库,实体,课程,数据库系统,数据,属性 From: https://www.cnblogs.com/Ai-TangTang/p/18248978