当前位置:   article > 正文

Mysql基础练习(图书管理系统)_数据库图书管理系统mysql大作业

数据库图书管理系统mysql大作业

一、创建数据库

1、创建一个名为book的数据库

2、打开book数据库

  1. 1create database book
  2. 2、use book

二、创建数据表

创建数据表分别如下:红色字体为主键,蓝色字体为外键(外键暂时不实现,后面第8题中再创建)

  1. create table borrow
  2. (
  3. id int comment '借阅id',
  4. borrownumber varchar(14) comment '借书证编号',
  5. barcode varchar(11) comment '图书条码号',
  6. borrowtime datetime comment '借出日期',
  7. returntime datetime comment '归还日期',
  8. `condition` char(3) comment '状态'
  9. )comment '借阅';
  10. alter table borrow add primary key (id);//单独设置主键
  11. alter table borrow alter column `condition` set default 01;--设置默认值

  1. create table administrator(
  2. workid varchar(11) comment '工号',
  3. name varchar(11) comment '姓名',
  4. password varchar(20) comment '密码',
  5. sex char(1) comment '性别',
  6. title varchar(6) comment '职称',
  7. duty varchar(6) comment '职务'
  8. )comment '管理员';
  9. alter table administrator add primary key (workid);--设置主键
  10. aalter table administrator MODIFY title varchar(6) null;--允许为空
  11. alter table administrator MODIFY duty varchar(6) null;--允许为空

  1. create table readersort(
  2. readerid char(2)comment '读者类别编号',
  3. sort varchar(11) comment '类别',
  4. lendnumber int comment '可借数量',
  5. lendtime int comment '借期'
  6. )comment '读者类别';
  7. alter table readersort add primary key (readerid);--设置主键

  1. create table books(
  2. barcode varchar(11) comment '图书条码号',
  3. ISBN varchar(20),
  4. scriptoriumnumber char(4) comment '馆藏地编号',
  5. sortnumber varchar(11) comment '分类号'
  6. )comment '图书';
  7. alter table books add primary key (barcode);--设置主键
  8. alter table books MODIFY ISBN varchar(20) null;--允许为空

  1. create table bookdetails(
  2. ISBN varchar(20),
  3. bookname varchar(20) comment '书名',
  4. writer varchar(11) comment '作者',
  5. press varchar(20) comment '出版社',
  6. presstime datetime comment '出版日期',
  7. price float comment '价格',
  8. synopsis varchar(200) comment '简介'
  9. )comment '图书详情';
  10. alter table bookdetails add primary key (ISBN);--设置主键
  11. alter table bookdetails MODIFY press varchar(20) null;--允许为空
  12. alter table bookdetails MODIFY presstime datetime null;--允许为空
  13. alter table bookdetails MODIFY price float null;--允许为空
  14. alter table bookdetails MODIFY synopsis varchar(200) null;--允许为空

  1. create table reader(
  2. borrownumber varchar(14) comment '借书证编号',
  3. identitycardid char(18) comment '身份证编号',
  4. name varchar(20) comment '姓名',
  5. sex char(1) comment '性别',
  6. branch varchar(20) comment '部门',
  7. address varchar(20) comment '住址',
  8. phonenumber char(11) comment '电话',
  9. email varchar(30) comment '电子邮件',
  10. readerid char(2) comment '读者类别编号'
  11. )comment '读者';
  12. alter table reader add primary key (borrownumber);/*设置主键*/
  13. alter table reader MODIFY address varchar(20) null;/*允许为空*/
  14. alter table reader MODIFY phonenumber char(11) null;/*允许为空*/
  15. alter table reader MODIFY email varchar(30) null;/*允许为空*/
  16. alter table reader add unique identitycardid_index(identitycardid);/*设置唯一索引*/
  17. alter table reader add unique phonenumber_index(phonenumber);
  18. alter table reader add unique email_index(email);

  1. create table scriptorium(
  2. scriptoriumnumber char(4) comment '馆藏地编号',
  3. site varchar(10) comment '地点',
  4. floor char(2) comment '楼层'
  5. )comment '馆藏地';
  6. alter table scriptorium add primary key (scriptoriumnumber);/*设置主键*/

  1. create table librarycard(
  2. borrownumber varchar(14) comment '借书证编号',
  3. password varchar(20) comment '密码',
  4. `condition` char(3) comment '状态'
  5. )comment '借书证';
  6. alter table librarycard add primary key (borrownumber);/*设置主键*/
  7. alter table librarycard MODIFY password varchar(20) null;/*允许为空*/
  8. alter table librarycard alter column password set default 000000;--设置默认值
  9. alter table librarycard alter column `condition` set default 01;

三、修改数据结构

4、修改“管理员”表中“姓名”字段的长度为varchar(20)

alter table administrator modify name varchar(20)  not null comment '姓名';

5、将“管理员”表中“姓名”字段移到”密码“字段之后

alter table administrator modify name varchar(20) not null comment '姓名' after password;

6、在“管理员”表中添加一列:电话  char(11)

  1. alter table administrator
  2. add phonenumber char(11) comment '电话';

7、删除管理员表中”电话“列

alter table administrator drop column phonenumber;

四、建立表之间的联系

8、创建外键,建立各表之间的联系如下(将命令和运行结果截图、将navicat中的E-R图截图):

各表中外键如下:

“图书”表的“馆藏地编号”,关联“馆藏地”表的“馆藏地编号”

  1. alter table books
  2. add constraint books_scriptorium_scriptoriumnumber_fk
  3. foreign key (scriptoriumnumber) references scriptorium (scriptoriumnumber);

“图书”表的“ISBN”,关联“图书详情”表的“ISBN”

  1. alter table books
  2. add constraint books_bookdetails_ISBN_fk
  3. foreign key (ISBN) references bookdetails (ISBN);

“读者”表的“读者类别编号”,关联“读者类别”表的“读者类别编号”

  1. alter table reader
  2. add constraint reader_readersort_readerid_fk
  3. foreign key (readerid) references readersort (readerid);

“借阅”表的“借书证编号”,关联“读者”表的“借书证编号”

  1. alter table borrow
  2. add constraint borrow_reader_borrownumber_fk
  3. foreign key (borrownumber) references reader (borrownumber);

“借阅”表的“图书条码号”,关联“图书”表的“图书条码号”

  1. alter table borrow
  2. add constraint borrow_books_barcode_fk
  3. foreign key (barcode) references books (barcode);

“借书证”表的“借书证编号”,关联“读者”表的“借书证编号”

  1. alter table librarycard
  2. add constraint librarycard_reader_borrownumber_fk
  3. foreign key (borrownumber) references reader (borrownumber);

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/爱喝兽奶帝天荒/article/detail/808224
推荐阅读
相关标签
  

闽ICP备14008679号