资源描述
设某汽车运输公司数据库中有三个实体集。一是“车队”实体集,属性有车队号、车队名等;二是“车辆”实体集,属性有牌照号、厂家、出厂日期等;三是“司机”实体集,属性有司机编号、姓名、电话等。
设车队与司机之间存在“聘用”联系,每个车队可聘用若干司机,但每个司机只能应聘于一个车队,车队聘用司机有个聘期;车队与车辆之间存在“拥有”联系,每个车队可拥有若干车辆,但每辆车只能属于一个车队;司机与车辆之间存在着“使用”联系,司机使用车辆有使用日期和公里数两个属性,每个司机可使用多辆汽车,每辆汽车可被多个司机使用。
(1)试画出ER图,并在图上注明属性、联系类型、实体标识符;
(2)将ER图转换成关系模型,并说明主键和外键。
(3)写出为“车队”基本表的“车队名”列创建非聚簇索引的SQL语句。
(4)创建视图,在“司机”表中查找(司机编号,姓名,电话)属性。
(5)为“司机”表增加一个年龄属性age(tinyint),请写出该操作的SQL语句。
E-R模型如下:
N
1
公里数
拥有
使用日期
车辆
牌照号
厂家
出厂日期
N
车队号
车队
车队名
聘用
聘期
司机
司机编号
姓名
电话
1
使用
M
N
2. 车队(车队号,车队名)主键:车队号
车辆(牌照号,厂家,生产日期,车队号)主键:牌照号 外键:车队号
司机(司机编号,姓名,电话,车队号,聘期)主键:司机编号 外键:车队号
使用(司机编号,车照号,使用日期,公里数)主键:司机编号,车照号,使用日期
外键:司机编号,车照号
3.CREATE INDEX SNAME_INX ON车队(车队名);
4. CREATE VIEW VIEW_abc AS
(SELECT司机编号,姓名,电话 FROM 司机);
5.ALTER TABLE 司机
ADD age tinyint
展开阅读全文