===== 第 1 页 ===== 学号 | 姓名 | 性别 | 出生日期 | 身份证号 | 班级名 | 系别 | QQ号 | 总学分 2013010101 | 张三多 | 男 | 1981-02-19 | 130102198102191179 | 网络0801 | 计算机系 | 666666666 | 20 2013010102 | 李四龙 | 男 | 1981-06-20 | 120102198106201176 | 网络0801 | 计算机系 | 999999999 | 19 2013010103 | 王建岭 | 男 | 1981-08-26 | 130112198108261178 | 网络0801 | 计算机系 | | 21 表1.1学生表 1、认知关系: 下面的数据表--学生表,是一种二维表。 二维表由行和列组成的。 第3节、关系数据库 ===== 第 2 页 ===== (1)表格的列(column)数和行(row)数确定,表中每一列都必须是不可分解的,列具有原子性(即不可分解); (2)每列信息的性质是相同的,即每一列中的信息是同一类型的数据,它们来自同一个域; (3)表中的任意两个行不能完全相同(否则数据会有重复); (4)表中不同的列来自不同的域,每一列有不同的列名(否则数据会有重复); (5)表中列的顺序可以任意互换,不会改变表的意义; (6)表中行除首行外,其余行的次序也可以任意互换,不会改变表的意义; 同时具备下面六个特征的表格才能称之为关系。 常用的数据类型有: 数值型(整数型、实数型)、字符型、日期时间型、图像型等。 关系是一个二维表,但二维表不一定是关系! 为什么? ===== 第 3 页 ===== 表1-2则不能称为一个关系,因为其列数不确定,”收入”又细分为” 基本工资”、”津贴”、”其它”、”其它”、”水电费”和”实际收入”五项,违反了第六条特征。 基本工资 | 津贴 | 其它 | 水电费 | 实际收入 0101 | 张三 | 1000.00 | 1000.00 | 600.00 | -200.00 | 2400.00 0102 | 李四 | 1200.00 | 1000.00 | 900.00 | -200.00 | 2900.00 0103 | 王五 | 1500.00 | 1000.00 | 1000.00 | -200.00 | 3300.00 表1.2工资表 ===== 第 4 页 ===== 关系数据库是由若干个关系组成的相关的可被共享的数据集合。如学生表(参见表1.1)、课程表(参表1.3)、成绩表(参见表1.4)和就组成一个简单的教学管理系统数据库。 建立在关系模型基础上的数据库,称为关系数据库。 关系数据库使用最广泛。 数据模型有三种: (1)、层次模型:用树形结构表示。 (2)、网状模型:用网状结构表示。 (3)、关系模型:用二维表结构表示。 2、关系数据库 ===== 第 5 页 ===== 学号 | 课程号 | 成绩 2013010101 | 01 | 90 2013010101 | 02 | 85 2013010101 | 03 | 95 2013010102 | 01 | 95 2013010102 | 02 | 90 2013010103 | 02 | 80 2013010103 | 03 | 95 课程号 | 课程名 | 学分 01 | 英语 | 5 02 | 数学 | 4 03 | 法律 | 2 04 | 体育 | 2 表1.3课程表 表1.4成绩表 关系数据库中的表: ===== 第 6 页 ===== 3. 和关系数据库相关的术语 ●关系:是一种特殊的二维表格,如前面所述,关系是同时具备上面六条特征的表格 。 ●记录(record):首行除外(首行称为表的结构或表头),关系中的任意一行称为一条记录或一个元组(tuple)。 ●字段(field)(属性):关系中任意一列,称为一个字段。列有名和值之分,如”姓名”是字段名,”张三”是字段值。 ●关键字:能唯一标识一条记录的字段,称为关键字。 关键字的值不能重复,一个表中可以有一个或多个关键字, 如学号和身份证号都不允许重复。 ===== 第 7 页 ===== ●主关键字,又称主键(primary key):是一个列或多个列的组合, 是关键字, 用来区分表中的每一条记录。如学生表中的”学号”列就可以作为主键。在成绩表(表1.3)中,学号和课程号两个列组合起来可作为主键。 特点: (1)在一个表中只能有一个主键。 (2)一个表中可以有多个关键字,只能选取一个用作主键。 (3)主键的值是唯一的, 不允许重复, 也不允许为空值(NULL). ●关系数据库(database):与一个特定的组织(部门)各项应用有关的全部数据的集合。主要由关系(即:表)、视图和存储过程等数据库对象组成。例如:学生表(参见表1-1)、成绩表(参见表1-3)和下面的课程表(参表1-4)就组成一个简单的教学管理系统数据库。 ===== 第 8 页 ===== ●关系数据库管理系统(RDBMS-relation data base management system) 对关系数据库进行创建和统一管理的一类系统软件的总称。 常用的数据库管理系统软件有: ACCESS、Visual FoxPro、SQL Server、Oracle、MySQL等。 本课程主要阐述如何利用MySQL这一关系数据库管理系统软件进行数据库的创建、管理、高效运行、安全管理及其他各种相关操作技能等知识。 ===== 第 9 页 ===== 小结 1、二维表由什么组成的? 2、什么样的二维表才称为关系? 3、什么是记录? 4、什么是字段? 5、关系中的任何两行能不能完全一样? 6、确保关系中不能存在重复行的字段是什么? 7、关系中的字段能不能再分解? 8、关系中的各个“字段名”能不能重名? 9、关系中的同一个字段的数据类型是否相同? 10、什么是关键字? 11、什么是主键?有哪些特点? ===== 第 10 页 ===== 4、认知数据模型 4-1:认知数据化与数据模型 问:现实世界中存在的客观事物,计算机如何处理? 答:将客观事物数据化处理。 ===== 第 11 页 ===== 现实世界(事物、事物性质) (人、外貌特征) (抽象化) 信息世界(实体、实体属性) (张三、身高、体重….) (数据化) 数据世界(行、列) (zhangsan 170 80….) ===== 第 12 页 ===== 常用的数据模型: (1)现实世界的模型,称为“概念模型” 分为“对象”和“性质”两个方面。 (2)信息世界的模型,称为“信息模型” 分为“实体”和“属性”两个方面。 (3)数据世界的模型,称为“数据模型” 分为“记录”和“字段”两个方面。 (或“行”和“列”两个方面) ===== 第 13 页 ===== E-R图: 描述概念模型的最常用方法是“实体—联系”方法,称为E-R图。 E-R图包括:实体、属性、联系三种图素。 ===== 第 14 页 ===== 4-2、实体与联系 4-2-1 实体与属性 实体:客观存在并可以相互区分的事物称为实体 属性:实体所具有的某一特性 联系:就是实体与实体之间的联系. 如一个学生、一个职工、一部汽车、一个部门、一个班级、一门课等都是实体. 学生实体可以由学号、姓名、性别、出生年份、系、入学时间(如:00001,李丽,女,1980,计算机系,2002)等属性组成,这些属性组合起来描述了一个学生. 学生张三与学生李四是同班同学,这是联系。 学生张三与学生王五是同系不同班同学,这也是联系。 ===== 第 15 页 ===== 4-2-2、联系类型 实体间的对应关系称为联系,也称关系. 实体与实体之间的联系有三种类型: (1)1对1联系(1:1): 如1个学生只能在1个班级。 (2)1对多联系(1:n): 如1个班级有50个学生。 (3)多对多联系(m:n) 如:学生与课程,一个学生同时学几门课程,同一门课程有多名学生同时学。 ===== 第 16 页 ===== 联系的三种类型 ===== 第 17 页 ===== 4-2-3、 E-R图 E-R图:即实体-联系(Entity-Relationship)图 用图来描述实体、属性和联系的方法。 E-R图包括4个基本要素: (1)实体:用“矩形”表示。矩形内标注实体名称 (2)属性:用“椭圆”表示。椭圆内标注属性名称 (3)联系:用“菱形”表示。菱形内标注联系名称 (4)连线:用“直线”表示。连接实体、属性、联系 ===== 第 18 页 ===== 示例: ===== 第 19 页 ===== E-R图 选课 学生 课程 学号 姓名 年龄 课程号 课程名 学分 m n ===== 第 20 页 ===== 课堂练习:请根据以下描述,画出学生选课E-R图。 学号 | 姓名 | 性别 01101 | 李海 | 男 01102 | 王鹏 | 女 课程编号 | 课程名称 101 | 计算机基础 102 | 程序设计 学号 | 课程编号 | 成绩 01101 | 101 | 80 01101 | 102 | 87 01102 | 101 | 85 01102 | 102 | 88 学生课程成绩表 课程表 学生表 学生成绩关系图 ===== 第 21 页 ===== 小结: 1、常用的数据模型有哪几种? 2、什么是E-R图? 3、什么是实体?什么是属性? 4、实体与实体之间的联系有哪几种类型? 5、E-R图包括哪几个基本要素?分别用什么表示?