数据库-实验一-建立表格

create table test
(
a CHAR(10) primary key,
b CHAR(10)
);
create table 图书分类
(
  图书分类号 CHAR(10) primary key,
  类名    CHAR(10)
);

create table 书目
( ISBN  CHAR(20) primary key,
  作者    CHAR(10),
  出版单位  CHAR(20),
  单价    CHAR(10),
  图书分类号 CHAR(10),
  书名    CHAR(20),
foreign key(图书分类号) references 图书分类(图书分类号)
);

create table 图书
(
  ISBN CHAR(20),
  图书编号 CHAR(10)primary key,
  是否借出 CHAR(10),
  备注   CHAR(20),
  foreign key(ISBN) references 书目(ISBN)
);

create table 读者
(
  借书证号  CHAR(10) primary key,
  姓名    CHAR(10),
  单位    CHAR(30),
  性别    CHAR(10) check (性别 in('男','女')),
  地址    CHAR(10),
  联系电话  CHAR(11) ,
  身份证编号 CHAR(18) 
);

create table 罚款分类
(
  罚款分类号 CHAR(10) primary key,
  罚款名称  CHAR(10),
  罚金    CHAR(10)
);

create table 借阅
(
  借阅流水号 CHAR(10) primary key,
  借书证号  CHAR(10),
  图书编号  CHAR(10),
  借书日期  CHAR(10) not null,
  归还日期  DATE,
  罚款分类号 CHAR(10),
  备注    CHAR(20),
 foreign key(借书证号) references 读者(借书证号),
 foreign key(图书编号) references 图书(图书编号),
 foreign key(罚款分类号) references 罚款分类(罚款分类号)
 );
 
 create table 预约
(
  预约流水号 CHAR(10) primary key,
  借书证号  CHAR(10) ,
  isbn  CHAR(20) ,
  预约时间  DATE,
 foreign key(借书证号) references 读者(借书证号),
 foreign key(ISBN) references 书目(ISBN)
);

  insert into 图书分类 (图书分类号, 类名)
values ('100       ', '文学      ');
insert into 图书分类 (图书分类号, 类名)
values ('200       ', '科技      ');
insert into 图书分类 (图书分类号, 类名)
values ('300       ', '哲学      ');

insert into 书目 (作者, 出版单位, 单价, 图书分类号, isbn, 书名)
values ('王珊      ', '高等教育出版社      ', '39.00     ', '200       ', '7040195836          ', '数据库系统概论      ');
insert into 书目 (作者, 出版单位, 单价, 图书分类号, isbn, 书名)
values ('曹雪芹    ', '人民出版社          ', '20.00     ', '100       ', '9787508040110       ', '红楼梦              ');
insert into 书目 (作者, 出版单位, 单价, 图书分类号, isbn, 书名)
values ('曹雪芹    ', '作家出版社          ', '34.30     ', '100       ', '9787506336239       ', '红楼梦              ');
insert into 书目 (作者, 出版单位, 单价, 图书分类号, isbn, 书名)
values ('张立文    ', '人民出版社          ', '33.80     ', '300       ', '9787010073750       ', '心学之路            ');

insert into 图书 (图书编号, isbn, 是否借出, 备注)
values ('2001231   ', '7040195836          ', '否        ', null);
insert into 图书 (图书编号, isbn, 是否借出, 备注)
values ('2001232   ', '7040195836          ', '是        ', null);
insert into 图书 (图书编号, isbn, 是否借出, 备注)
values ('1005050   ', '9787506336239       ', '否        ', null);
insert into 图书 (图书编号, isbn, 是否借出, 备注)
values ('1005063   ', '9787508040110       ', '是        ', null);
insert into 图书 (图书编号, isbn, 是否借出, 备注)
values ('3007071   ', '9787010073750       ', '是        ', null);

insert into 读者 (借书证号, 姓名, 单位, 性别, 地址, 联系电话, 身份证编号)
values ('20051001  ', '王菲      ', '四川绵阳西科大计算机学院      ', '女        ', null, null, null);
insert into 读者 (借书证号, 姓名, 单位, 性别, 地址, 联系电话, 身份证编号)
values ('20062001  ', '张江      ', '四川绵阳中心医院              ', '男        ', null, null, null);
insert into 读者 (借书证号, 姓名, 单位, 性别, 地址, 联系电话, 身份证编号)
values ('20061234  ', '郭敬明    ', '四川江油305                   ', '男        ', null, null, null);
insert into 读者 (借书证号, 姓名, 单位, 性别, 地址, 联系电话, 身份证编号)
values ('20071235  ', '李晓明    ', '四川成都工商银行              ', '男        ', null, null, null);
insert into 读者 (借书证号, 姓名, 单位, 性别, 地址, 联系电话, 身份证编号)
values ('20081237  ', '赵鑫      ', '四川广元广元中学              ', '女        ', null, null, null);

insert into 罚款分类 (罚款分类号, 罚款名称, 罚金)
values ('1         ', '延期      ', '10        ');
insert into 罚款分类 (罚款分类号, 罚款名称, 罚金)
values ('2         ', '损坏      ', '20        ');
insert into 罚款分类 (罚款分类号, 罚款名称, 罚金)
values ('3         ', '丢失      ', '50        ');

insert into 借阅 (借阅流水号, 借书证号, 图书编号, 借书日期, 归还日期, 罚款分类号, 备注)
values ('1         ', '20081237  ', '3007071   ', to_date('19-09-2010', 'dd-mm-yyyy'), to_date('20-09-2010', 'dd-mm-yyyy'), null, null);
insert into 借阅 (借阅流水号, 借书证号, 图书编号, 借书日期, 归还日期, 罚款分类号, 备注)
values ('2         ', '20071235  ', '1005063   ', to_date('20-10-2010', 'dd-mm-yyyy'), to_date('20-02-2011', 'dd-mm-yyyy'), '1         ', null);
insert into 借阅 (借阅流水号, 借书证号, 图书编号, 借书日期, 归还日期, 罚款分类号, 备注)
values ('3         ', '20071235  ', '2001232   ', to_date('01-09-2011', 'dd-mm-yyyy'), null, null, null);
insert into 借阅 (借阅流水号, 借书证号, 图书编号, 借书日期, 归还日期, 罚款分类号, 备注)
values ('4         ', '20061234  ', '1005063   ', to_date('20-09-2011', 'dd-mm-yyyy'), null, null, null);
insert into 借阅 (借阅流水号, 借书证号, 图书编号, 借书日期, 归还日期, 罚款分类号, 备注)
values ('5         ', '20051001  ', '3007071   ', to_date('10-09-2011', 'dd-mm-yyyy'), null, null, null);
insert into 借阅 (借阅流水号, 借书证号, 图书编号, 借书日期, 归还日期, 罚款分类号, 备注)
values ('6         ', '20071235  ', '1005050   ', to_date('20-10-2011', 'dd-mm-yyyy'), to_date('20-02-2012', 'dd-mm-yyyy'), '1         ', null);

insert into 预约 (预约流水号, 借书证号, isbn, 预约时间)
values ('1         ', '20081237  ', '9787508040110       ', to_date('11-09-2011', 'dd-mm-yyyy'));


alter table 借阅
modify(借书日期  CHAR(10) not null);

alter table 读者
constraint CN_tel
check (length(联系电话)=11);

alter table 读者
constraint CN_card
check(length(身份证编号)=18,身份证编号 like '[0,9]''[0,9]''[0,9]''[0,9]''[0,9]''[0,9]'
 '[0,9]''[0,9]''[0,9]''[0,9]''[0,9]''[0,9]' '[0,9]''[0,9]''[0,9]''[0,9]''[0,9]''[0,9]');

/*alter table 读者
modify (身份证编号 char(18));
*/
alter 图书
add constraint CK_data check(是否借出='是',是否借出='否');

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
软件工程与数据库 课程设计 任务书 学院名称: 数学与计算机学院 课程代码:_6014419_ 专 业: 年 级: 一、设计题目 图书管理系统 二、主要内容 一个简单的图书管理系统包括图书馆内书籍的信息、学校在校学生的信息以及学生的 借阅信息。此系统功能分为面向学生和面向管理员两部分,其中学生可以进行借阅、续 借、归还和查询书籍等操作,管理员可以完成书籍和学生的增加,删除和修改以及对学 生,借阅、续借、归还的确认。如: 图书室有各种图书一万多册。 每种图书都有书名、书号(ISBN)、一名或多名作者(译者)、出版社、定价和内容 简介。 借书证记录有借阅者的姓名、所在单位、职业等。 凭借书证借书,每次最多能借8本书。借书期限最长为30天。 实现新进图书的数据录入。 实现对所有购进图书的分类查询和分类统计。 能够按书名、作者等分类查询现有图书的数量。 记录借阅者的个人资料和所借图书的书名、书号数据等。 三、具体要求 1、完成系统的需求分析 通过需求分析确定系统需要处理的数据的需求,要求使用数据库的辅助设计工具( PowerDesigner等),建立业务处理模型。 2、完成系统概念结构设计 概念数据模型(CDM)用于完成数据库的设计,与人和数据库平台和具体数据存储结构和 工具无关。首先选择局部应用画出分E-R图,最终形成系统的E-R图 3、完成系统逻辑结构设计 按照E- R图转换成关系模式的规则,将CDM转换成逻辑数据模型,并为每个关系模式设计主键、 外键。分析关系模式中的依赖关系,对关系模式规范化处理 4、完成系统物理结构设计 为每个关系分配存储长度,建立数据库的索引和视图,定义关系中的主码和外码,写 出关系创建和查询的SQL语句。 5、编码 选择你自己熟悉的开发工具完成一个DBS系统的编码工作。 源代码格式规范,注释不少于三分之一 四、主要技术路线提示 1.仔细阅读设计指导书内容,认真掌握任务要求(2. 需求分析( 3.概念结构设计( 4.逻辑结构设计(5.物理结构设计(6.编码. 2.后台推荐采用SQL server或Oracle;前台开发环境不限制。可采用ADO,ODBC,OLE DB或JDBC连接数据库, 并调用系统存储过程、自定义存储过程、函数等。 五、进度安排 第1周: 数据库系统概念模型、数据模型设计,创建数据库以及相关对象; 第2周: 前台程序开发,撰写报告,接受检查。 六、完成后应上交的材料 1. 源程序一份(包含数据库) 2. 课程设计报告一份 七、推荐参考资料 1.王珊.数据库系统概论(第四版). 高等教育出版社 2.闪四清.数据库系统原理与应用教程.清华大学出版社 3.周龙骧.数据库管理系统实现技术.中国地质大学出版社 4.张海藩.软件工程概论.清华大学出版社 5.陈明 编著.实用软件工程基础.清华大学出版社 6.成先海.数据库基础与应用-SQL SERVER2000. 机械工业出版社出版 指导教师 签名日期 年 月 日 系 主 任 审核日期 年 月 日 ----------------------- 数据库课程设计--图书管理系统全文共3页,当前为第1页。 数据库课程设计--图书管理系统全文共3页,当前为第2页。 数据库课程设计--图书管理系统全文共3页,当前为第3页。
实验四视图、数据控制与嵌入式SQL语言实验 基于实验建立的“图书读者数据库”(Book_Reader_DB)和实验二输入的部分虚拟数据,在SQL Server 2000查询分析器的Transact-SQL语句输入区输入Transact-SQL语句,然后点击“查询”菜单中的“执行”菜单项(或用F5快捷键),执行输入区的Transact-SQL语句。具体实验内容如下: 1、视图定义与查询实验 ① 在“图书读者数据库”(Book_Reader_DB)中,先用视图创建向导的方法创建视图View1和View2。其中View1包括书号、书名、定价、数量等属性。View2包括读者号、读者姓名、单位、电话、书号、书名、借阅日期、应归还日期、实际还书日期和过期天数等属性,其条件是所有借书已过期的读者和借书情况(假定借阅期为60天); ② 根据上述定义的视图,在查询分析器中用语句完成如下查询: A:通过视图View1查询书库中藏书的情况; B:通过视图View2查询借书过期的读者和借书情况及罚款金额(假定超期罚款标准为1元/天); ③ 在查询分析器中用SQL语句来创建视图View3和视图View4,视图View3的要求与View1相同,视图View4与视图View2的条件相同。 2、数据控制实验 ① 假定系统有U1、U2、U3 、U4、U5、U6六个登录用户,试将查询图书的权限由管理员授权给U1, 以U1用户的身份重新登录系统后,再把权限授予给U2; ② 系统管理员把插入数据给借阅的权限授予给U3; ③ 系统管理员把添加图书数据的权限授予给U4; ④ 系统管理员把修改读者数据信息的权限授予给U5; ⑤ 将U1访问图书的权限收回; 3、嵌入式SQL语言实验 ① 用VB建立一个工程,在对话框Form1上添加一些访问数据库和显示数据的控件,并通过ODBC建立数据库Book_Reader_DB的连接; ② 在Form1上添加一个按钮Button1,对Button1添加一个点击事件(双击按钮Button1即可进入源代码输入界面),在事件上添加一些访问数据库对象或视图对象的SQL语句,运行工程,即可将满足要求的记录显示在界面的显示数据的控件上。换用不同的SQL语句,检查其执行结果。 上述每项实验内容相应的实验步骤必须进行详细的记录,并将其整理后写在实验报告中。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值