0%

数据库复习笔记(一)

ER-Model

Relationships

实体——矩形,属性——椭圆,二者直线相连;

关系ralationship——菱形,连接多个实体;

Relations——两个集合的笛卡尔积的子集;

关系多对多、多对一、一对一;圆箭头表示有且仅有一个,尖箭头表示至多一个;

关系的属性可以转化为一个与关系相连的新实体的属性

如果在一个关系中两次用到同一个实体:

多路关系转二路

Subclasses子类~isa:一对一关系,三角形的顶点与父类(superclass)相连,底边与子类相连。(与powerdesigner正好相反)

主键:每个实体至少有一个属性集合作为键。isa情况下,只有根实体有键,且作为所有子类的键。选择一个键作为主键。

弱实体集合:弱实体集合用双边矩形。与其他实体有一个或多个 多对一的关系,关系用双边菱形,但并不是与它相连的关系都是supporting relationship。它的键等于自身下划线属性加上supporting entity sets的键。

成为实体应满足以下两个条件之一:1、有一个不属于键的属性;2、是多对一或多对多关系的“多”端。

练习

Question 1: If entity set A currently has 100 entities, which of the following could be the number of B entities?

​ Ⅰ. 1

​ Ⅱ. 100

​ Ⅲ. 200

(a) Ⅰor Ⅱ (b) Ⅱ or Ⅲ (c) Ⅱ only (d)Ⅰ,Ⅱor Ⅲ

一个百货公司有若干连锁店,每家连锁店经营若干商品,同一种商品可以在任何一家连锁店中销售;每家连锁店有若干职工,但每个职工只能服务于一家商店。现该百货公司准备建一个计算机管理系统,请你帮助它设计一个数据库模式,基于该数据库模式百货公司经理可以掌握职工信息、连锁店信息和商品销售信息。已知基本信息有:

连锁店:连锁店名、地址、经理职工号;

职工:职工号、职工名、年龄、性别;

商品:商品号、商品名、价格、生产厂家;

Relational Data Model

实体完整性(主属性(主键中的属性)不能为空)、参照完整性(外键)和用户定义的完整性

Schema 模式:

关系的模式:关系名+属性名,每个属性可加上数值类型

Product(Name, Price, Category, Manufacturer)

Product(Name:string, Price:real, Category:string, Manufacturer:string)

数据库的模式:关系模式的集合

Instance 实例:(注意值与属性位置相对应)

ER图转关系图

实体—>关系表;关系—>关系表

特殊情形

关系表合并:多对一关系,将关系与多端合并;多对多关系不能合并。

弱实体集合:它的表中要有完整的键(可能来自其他实体的属性),支持关系不需要表。

子类:Product有两个子类EducationalProduct、SoftwareProduct

1、OO,面向对象:4张表

Product(name, price, category, manufacturer)

EducationalProduct( name, price, category, manufacturer, ageGroup, topic)

SoftwareProduct( name, price, category, manufacturer,platforms, requiredMemory)

EducationalSoftwareProduct( name, price, category, manufacturer, ageGroup, topic, platforms, requiredMemory)

2、E/R方法:3张表

Product(name, price, category, manufacturer)

EducationalProduct( name, ageGroup, topic)

SoftwareProduct( name, platforms, requiredMemory)

3、空值方法:1张表

Product ( name, price, category, manufacturer, age-group, topic, platforms, required-memory)

练习

Question2: If we convert the E/R diagram to relations in the standard way, which set of attributes would not appear in the schema of some relation?(图同Q1)

​ (a) (b,c,e) (b) (a,b) (c) (a,d) (d) (c,f)

注意A不是一个弱实体集合!它的关系表中只有a,d