数据库设计原则和举例
目录
分三个部分进行讲解:一.概念、二.设计原则和流程、三.举例
一、几个概念:
1.实体(entity):客观存在并且可以相互区别的东西成为实体(如一个男生,一场篮球赛)。
2.实体集(entity set):性质相同的同类实体集合(如全体男生,全国男子篮球联赛的所有比赛)。
3.属性(attribute):实体所具有的若干特性,即为属性,每个属性有一个值域,其类型是整型、实型和字符型。
4.键(key):可以唯一标识实体集中每个实体的属性或属性集的称为实体的键(如学生的id,学生姓名不能作为实体的键,因为不唯一)。
5.类型(type)和值(value):如学生是一个实体类型,每个具体的学生为实体值,学生的学号、姓名、年龄是属性类型,123456、张三、19为属性值。
6.一对一来联系(1:1):如果实体集A1中每个实体与至多和实体集A2中 一个实体有联系,反之亦然,则为一对一联系;一对多联系和多对多联系与此类似。
7.实体联系模型(Entity-Relationship Model,E-R模型):从现实世界抽象出实体类型及实体之间的联系,然后用实体联系图即E-R图表示数据模型。
二、数据库设计的原则和一般流程:
1.确定含有的基本对象(可实例化的对象)
2.确定各个基本对象之间的关系(一对多,多对多)
3.建立各个基本对象表
4.建立对象之间关系表:一对多的时候可直接将“一”作为外键加入到基本对象表中;多对多的时候,必须建立一个多对多的关系表
三、举例:学生选课
1.要知道每个学生选的课程?上课地点、时间、任课教师。
2.要知道每个学院开设了什么课程,都有哪些学生选课?
要求:设计数据库,给出各表主要字段
分析:由题目可知其实体对象有:学生,学院,教师,课程,教室共5个,
实体对象之间关系表有:学生-课程关系表,教师-课程关系表,课程-教室关系表(根据图可知)
所以,共8张表。