数据库上机2
1、 基于第一次上机创建的银行数据库,创建一个视图branch_detail,能够显示所有支行的存款客户数量、存款总额、贷款客户数量、贷款总额。
2、 在account的account_number属性上建立索引,并在account表里插入大量元组,比较有无索引在查询速度上的区别。
3、 创建角色银行经理branch_manager,银行经理具有插入、删除和更新branch表的权限。
4、 自由练习第四章中级SQL的其他特性。
5、 上机报告,将实现的源码、截图做成word文档,以学号作为文档的名称,由课代表收齐后统一上交。
数据库上机4
基于MySQL,设计并实现一个简单的旅行预订系统。该系统涉及的信息有航班、大巴班车、宾馆房间和客户数据等信息。其关系模式如下:
FLIGHTS (String flightNum, int price, int numSeats, int numAvail, String FromCity, String ArivCity);
HOTELS(String location, int price, int numRooms, int numAvail);
BUS(String location, int price, int numBus, int numAvail);
CUSTOMERS(String custName,custID);
RESERVATIONS(String custName, int resvType, String resvKey)
为简单起见,对所实现的应用系统作下列假设:
1. 在给定的一个班机上,所有的座位价格也一样;flightNum是表FLIGHTS的一个主码(primary key)。
2. 在同一个地方的所有的宾馆房间价格也一样;location是表HOTELS的一个主码。
3. 在同一个地方的所有大巴车价格一样;location是表 BUS的一个主码。
4. custName是表CUSTOMERS的一个主码。
5. 表RESERVATIONS包含着那些和客户预订的航班、大巴车或宾馆房间相应的条目,具体的说,resvType指出预订的类型(1为预订航班,2为预订宾馆房间,3为预订大巴车),而resvKey是表RESERVATIONS的一个主码。
6. 在表FLIGHTS中,numAvail表示指定航班上的还可以被预订的座位数。对于一个给定的航班(flightNum),数据库一致性的条件之一是,表RESERVATIONS中所有预订该航班的条目数加上该航班的剩余座位数必须等于该航班上总的座位数。这个条件对于表BUS和表HOTELS同样适用。
应用系统应完成如下基本功能:
1. 航班,大巴车,宾馆房间和客户基础数据的入库,更新(表中的属性也可以根据你的需要添加)。
2. 预定航班,大巴车,宾馆房间。
3. 查询航班,大巴车,宾馆房间,客户和预订信息。
4. 查询某个客户的旅行线路。
5. 检查预定线路的完整性。
6. 其他任意你愿意加上的功能。
作业检查:
1. 提交源程序,可执行程序,以及程序运行说明。
2. 系统分析、设计与实现报告。
3. 考试前检查完毕,延迟拒收。
4. 提交word文件,形式为:学号_姓名
数据库上机
5、 建立表BRANCHxxx, CUSTOMERxxx, LOANxxx, BORROWERxxx, ACCOUNTxxx, DEPOSITORxxx;
CREATE TABLE ACCOUNTxxx (
account_number char(10),
branch_name char(30) NOT NULL,
balance numeric(12.2),
PRIMARY KEY (account_number),
FOREIGN KEY (branch_name)
REFERENCES branch(branch_name),
CONSTRAINT chk_balance CHECK (balance >= 0 ) ) ;
--建立customersxxx表,xxx同前
show tables; --现在数据库中有了表
desc customers; --查看表的属性
6、 将书上第2章图2-1,2-3,2-4,2-5,2-6,2-7中的数据输入到表中;
insert into ACCOUNTxxx
values (‘A-101’, ‘Downtown’, 500); --向表中插入数据
select * from ACCOUNTxxx; --验证是否插入数据成功
7、 创建图3.12的四张表,输入一些数据,查询书上第三章3.2, 3.9的作业题
8、 上机报告,将实现的源码、截图做成word文档,以学号作为文档的名称,由课代表收齐后统一上交。