数据库设计作业——《网上书店系统》数据库设计 一、功能需求 普通用户:可以进行最基础的登陆操作,可浏览图书、按类别查询图书、查看 图书的详细信息,还可以注册成为会员。会员:需要填写详细信息(真实姓名、
属性 | 字段名 | 数据类型 | 是否为空/约束条件 |
---|---|---|---|
账号 | ACCOUNT_NUMBER | CHAR(20) | 主键 |
密码 | PASSWord | VARCHAR(50) | 非空 |
地址 | ADDRESS | VARCHAR(50) | 可以空 |
会员名 | MEMBER_ID | VARCHAR(50) | 可以空 |
注册时间 | REGTIME | VARCHAR(50) | 可以空 |
手机号 | PHONE_NUMBER | VARCHAR(50) | 可以空 |
邮箱 | POSTBOX | VARCHAR(50) | 可以空 |
性别 | SEX | VARCHAR(8) | 可以空 |
真实姓名 | NAME | VARCHAR(50) | 可以空 |
属性 | 字段名 | 数据类型 | 是否为空/约束条件 |
---|---|---|---|
管理员编号 | ADMINISTRATOR_ID | CHAR(20) | 主键 |
管理员密码 | AD_CODE | CHAR(30) | 非空 |
管理员名称 | AD_NAME | VARCHAR(20) | 非空 |
邮箱 | E_MaiL | VARCHAR(50) | 可以空 |
手机号 | TELEPHONE | VARCHAR(20) | 可以空 |
属性 | 字段名 | 数据类型 | 是否为空/约束条件 |
---|---|---|---|
订单编号 | ORDER_ID | CHAR(20) | 主键 |
会员账号 | NUMBER | CHAR(30) | 非空 |
下单日期 | DATE | VARCHAR(20) | 可以空 |
订购总数 | SUM | INT | 非空 |
送货方式 | WAY | VARCHAR(20) | 非空 |
支付方式 | PAYMENT_WAY | VARCHAR(20) | 非空 |
卖出总价 | TOTAL_PRICE | FLOAT | 可以空 |
收货地址 | SHIPPING_ADD | VARCHAR(50) | 非空 |
收货人联系方式 | CONTACT | VARCHAR(20) | 非空 |
收货人姓名 | CONSIGNEE | VARCHAR(50) | 非空 |
发货日期 | ISSUANCE_DATE | VARCHAR(20) | 可以空 |
负责该订单的管理员 | ADMINISTRATOR_ID | VARCHAR(20) | 非空 |
属性 | 字段名 | 数据类型 | 是否为空/约束条件 |
---|---|---|---|
图书编号 | BOOK_ID | CHAR(20) | 主键 |
书名 | BOOK_NAME | CHAR(30) | 非空 |
图书类型 | TYPE | VARCHAR(20) | 可以空 |
作者 | AUTHOR | VARCHAR(20) | 非空 |
出版社 | PRESS | VARCHAR(50) | 非空 |
出版日期 | PRESS_DATE | VARCHAR(20) | 非空 |
定价 | PRICE | FLOAT | 非空 |
折扣 | DISCOUNT | FLOAT | 非空 |
库存数量 | STOCK_NUM | INT | 可以空 |
会员账号 | MEM_NUM | CHAR(20) | 非空 |
CREATE TABLE MEMBER(ACCOUNT_NUMBER CHAR(20) NOT NULL,PASSWORD VARCHAR(50) NOT NULL,ADDRESSVARCHAR(50),MEMBER_ID VARCHAR(50),REGTIMEVARCHAR(50),PHONE_NUMBER VARCHAR(50),POSTBOXVARCHAR(50),SEXVARCHAR(8),NAME VARCHAR(50))CREATE TABLE ADMINISTRATOR(ADMINISTRATOR_ID CHAR(20) NOT NULL,AD_CODECHAR(30) NOT NULL,AD_NAMEVARCHAR(20) NOT NULL,E_MAIL VARCHAR(50),TELEPHONE VARCHAR(20))CREATE TABLE ORDER_SHOW(ORDER_ID CHAR(20) NOT NULL,NUMBER CHAR(30) NOT NULL,DATE VARCHAR(20),SUMINT NOT NULL,WAYVARCHAR(20) NOT NULL,PAYMENT_WAYVARCHAR(20) NOT NULL,TOTAL_PRICEVARCHAR(20),SHIPPING_ADD VARCHAR(50) NOT NULL,CONTACTVARCHAR(20) NOT NULL,CONSIGNEE VARCHAR(50) NOT NULL,ISSUANCE_DATE VARCHAR(20),ADMINISTRATOR_ID VARCHAR(20) NOT NULL)CREATE TABLE BOOK(BOOK_IDCHAR(20) NOT NULL,BOOK_NAME CHAR(30) NOT NULL,TYPE VARCHAR(20),AUTHOR VARCHAR(20) NOT NULL,PRESS VARCHAR(50) NOT NULL,PRESS_DATE VARCHAR(20) NOT NULL,PRICE FLOAT NOT NULL,DISCOUNT FLOAT NOT NULL,STOCK_NUM INT,MEM_NUM CHAR(20) NOT NULL)
--(1) 向图书表增加“页数”列,其数据类型是整数型ALTER TABLE BOOK ADD B_PAGE INT--(2) 将“图书表”中的“页数”数据类型改成短整型ALTER TABLE BOOK ALTER COLUMN B_PAGE SMALLINT--(3) 增加“图书表”中“页数”取值必须大于0的约束条件ALTER TABLE BOOK ADD CONSTRAINT CK_PAGE CHECK(B_PAGE > 0)--(4) 删除“图书表”中的页数列ALTER TABLE BOOK DROP CONSTRAINT CK_PAGE--(5) 删除“图书表”DROP TABLE BOOK
--建立一个“图书类别”为“计算机”的视图GoCREATE VIEW COMPUTER AS SELECT * FROM BOOK WHERE TYPE = '计算机'GO
--在会员表上为姓名建立索引CREATE UNIQUE INDEX MEMBER_NAME ON MEMBER(NAME)
--(1)查询“张玲”的会员信息SELECT * FROM MEMBER WHERE NAME = '张玲'--(2)查询图书“中国通史”的价格SELECT PRICE FROM BOOK WHERE BOOK_NAME = '中国通史'--(3)查询网上书店系统中每种数的库存数量,并按照库存数量由多到少排列SELECT STOCK_NUM FROM BOOK ORDER BY STOCK_NUM DESC--(4)查询“陈东光”订购图书的订单情况SELECT * FROM ORDER_SHOW WHERE CONSIGNEE = '陈东光'--(5)列出账号为“jtxia”的会员所订购的所有图书信息SELECT * FROM BOOK WHERE MEM_NUM = 'jtxia' --(6)列出“英语初级听力(学生用书)”图书的订购情况,按照订购数量由大到小降序排列SELECT * FROM ORDER_SHOW,BOOK WHERE ORDER_SHOW.NUMBER = MEM_NUM AND BOOK_NAME = '英语初级听力(学生用书)' ORDER BY SUM DESC--(7)查询订单数位列前三的会员信息SELECT * FROM MEMBER WHERE NAME IN (SELECT TOP 3 NAME FROM ORDER_SHOW,MEMBER WHERE ACCOUNT_NUMBER = NUMBER GROUP BY NAME ORDER BY SUM(ORDER_ID))--(8)查询订购过“英语初级听力”,或者“高等数学”的会员账号和姓名SELECT ACCOUNT_NUMBER,NAME FROM MEMBER,ORDER_SHOW,BOOK WHERE MEMBER.ACCOUNT_NUMBER = ORDER_SHOW.NUMBER AND ORDER_SHOW.NUMBER = BOOK.MEM_NUM AND BOOK_NAME = '英语初级听力(学生用书)' OR BOOK_NAME = '高等数学'--(9)统计会员所有订单的订购总价SELECT SUM(TOTAL_PRICE) FROM ORDER_SHOW--(10)查询订购总价大于200的会员的账号SELECT NUMBER FROM ORDER_SHOW,MEMBER WHERE ACCOUNT_NUMBER = NUMBER GROUP BY NUMBER HAVING SUM(TOTAL_PRICE) > 200
INSERT INTO MEMBER VALUES ('jtxia','123456','河北省廊坊市','@~@','2020-2-1','12345678912','123@qq.com','女','张玲')--(1)书店新进一种图书,即向图书表中增加一种新的图书,ISBN号为9787302164784,书名为软件工程导论(第5版),作者为张海潘,出版社为清华大学出版社,定价为35,折扣为8,图书类别为计算机,图书概况为“本书可作为高等院校软件工程课程的教材或教学参考书”,库存量为50INSERT INTO BOOK VALUES ('9787302164784','软件工程导论(第5版)','计算机','张海潘','清华大学出版社','2014-3-8',35.0,0.80,50,'jskdb')--(2)书店价格调整,将“软件工程导论(第5版)”图书的“折扣”更新为7.5折UPDATE BOOK SET DISCOUNT = 0.75 WHERE BOOK_NAME = '软件工程导论(第5版)'--(3)会员地址变更,将会员账号为“jtxia”的地址更新为“天津大学”UPDATE MEMBER SET ADDRESS = '天津大学' WHERE ACCOUNT_NUMBER = 'jtxia'--(4)书店进货,将所有图书的库存量增加10UPDATE BOOK SET STOCK_NUM = STOCK_NUM + 10--(5)活动促销,将“计算机”类图书的折扣全部减1(多打一折)UPDATE BOOK SET DISCOUNT = DISCOUNT - 0.1 WHERE TYPE = '计算机'--(6)由于图书下架,删除图书“软件工程导论(第5版)”DELETE FROM BOOK WHERE BOOK_NAME = '软件工程导论(第5版)'
SQL Server 2008提供了4种不同的备份方式,分别是:①完整备份,备份整个数据库的所有内容,包括事务日志。②差异备份,它是完整备份的补充,差异备份只备份上次完整备份后更改的数据。③事务日志备份,事务日志备份只备份事务日志里的内容。④数据库文件和文件组备份,如果在创建数据库时,为数据库创建了多个数据库文件或文件组,可以使用该备份方法。
常见的数据库备份you两种方法:一种是利用Management Studio进行数据库备份;另一种时利用SQL语句进行备份。
来源地址:https://blog.csdn.net/mercury8124/article/details/129251315
--结束END--
本文标题: MySQL数据库设计作业 ——《网上书店系统》数据库设计实验报告
本文链接: https://lsjlt.com/news/416175.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-10-23
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0