diff --git "a/04 \346\235\216\346\230\216\345\201\245/\345\233\276\344\271\246\347\256\241\347\220\206\347\263\273\347\273\237.md" "b/04 \346\235\216\346\230\216\345\201\245/\345\233\276\344\271\246\347\256\241\347\220\206\347\263\273\347\273\237.md" new file mode 100644 index 0000000000000000000000000000000000000000..9de22b606133d8409229974b41e13a0cac2abab5 --- /dev/null +++ "b/04 \346\235\216\346\230\216\345\201\245/\345\233\276\344\271\246\347\256\241\347\220\206\347\263\273\347\273\237.md" @@ -0,0 +1,111 @@ +### 软件:PowerDesigner使用 + +#### 第一步:创建概念模型(类似ER图),以用户的角度。简称 CDM + +#### 第二步:将转概念模型换成逻辑模型,以计算机的角度。简称 LDM + +#### 第三步:将逻辑模型转换成物理模型,以数据库的角度。简称 PDM + +#### 第四步:生成DDL(生成数据库代码) + +![](E:\所有仓库\数据库高级\database-advanced\04 李明健\图书管理系统E-R图.png) + +### 图书管理系统 + +~~~ mysql +#创建数据库并选择 +create database lib charset utf8; +use lib; + +#创建书架表 +create table bookshelf( + bs_id int primary key, + bs_type varchar(5) +); +#插入数据 +insert into bookshelf values +(1,"文学类"), +(2,"数理类"), +(3,"人文科学类"); + +#创建图书信息表 +create table book_info( + book_id varchar(3) primary key, + book_name varchar(15) not null, + bs_id int, + foreign key (bs_id) references bookshelf(bs_id) +); +#插入数据 +insert into book_info values +(101,"朝花夕拾",1), +(102,"高等数学",2), +(103,"MySQL从入门到起飞",2), +(104,"红楼梦",1), +(105,"物种起源",3); + +#创建图书管理员表 +create table librarian( + lr_id varchar(3) primary key, + lr_name varchar(5) not null, + bs_id int, + foreign key (bs_id) references bookshelf(bs_id) +); +#插入数据 +insert into librarian values +(001,"张三",1), +(002,"李四",2), +(003,"王五",3); + +#创建学生信息表 +create table student( + stu_id varchar(10) primary key, + stu_name varchar(5) not null, + sex varchar(1) not null, + college varchar(10) not null +); +#插入数据 +insert into student values +("2244310201","田霜笑","女","软件工程学院"), +("2244310202","丰博嘉","男","软件工程学院"), +("2244310203","阳文康","男","软件工程学院"), +("2244310204","孙曼蓉","女","软件工程学院"); + +#创建借阅表 +create table borrow( + bo_time varchar(10) not null, #借阅时间 + re_time varchar(10) not null, #需归还时间 + book_id varchar(3), #图书编号 + foreign key (book_id) references book_info(book_id), + stu_id varchar(10) not null, #学号 + foreign key (stu_id) references student(stu_id) +); +#插入数据 +insert into borrow values +("2023-09-08","2023-10-08",101,"2244310201"), +("2023-08-15","2023-09-15",103,"2244310201"), +("2023-09-20","2023-10-20",102,"2244310202"), +("2023-09-11","2023-10-11",105,"2244310203"), +("2023-09-11","2023-10-11",104,"2244310204"); + +#创建借阅表 +create table `return`( + bo_time varchar(10) not null, #借阅时间 + re_time varchar(10) not null, #归还时间 + book_id varchar(3), #图书编号 + foreign key (book_id) references book_info(book_id), + stu_id varchar(10) not null, #学号 + foreign key (stu_id) references student(stu_id) +); +#插入数据 +insert into `return` values +("2023-09-08","2023-10-02",101,"2244310201"), +("2023-08-15","2023-09-16",103,"2244310201"), +("2023-09-20","2023-10-10",102,"2244310202"), +("2023-09-11","2023-10-15",105,"2244310203"), +("2023-09-11","2023-10-01",104,"2244310204"); + +#查询 +select * from student s,borrow br,bookshelf bs,book_info bi where s.stu_id=br.stu_id and bi.book_id=br.book_id and bs.bs_id=bi.bs_id; + +~~~ + diff --git "a/04 \346\235\216\346\230\216\345\201\245/\345\233\276\344\271\246\347\256\241\347\220\206\347\263\273\347\273\237E-R\345\233\276.png" "b/04 \346\235\216\346\230\216\345\201\245/\345\233\276\344\271\246\347\256\241\347\220\206\347\263\273\347\273\237E-R\345\233\276.png" new file mode 100644 index 0000000000000000000000000000000000000000..90e0455d974de71b4798b809e4331261ab55454a Binary files /dev/null and "b/04 \346\235\216\346\230\216\345\201\245/\345\233\276\344\271\246\347\256\241\347\220\206\347\263\273\347\273\237E-R\345\233\276.png" differ