东北大学数据库实验报告
课程编号:B080109004
数据库应用程序设计实践
报告
姓班开开报设设告学时日名 Xx 级 期 间 期 软件1301 学指导教号 师 20 毛克明 2015-2016第二学期 第1周——第3周 2015-3-23 评定定日人 期 评定成绩 评
东北大学软件学院
1.关系数据库
设计以下三个表:
客户信息表:
? 客户号 (主码) NUMBER(4) ? 客户姓名 VARCHAR2(20) ? 客户类型VARCHAR2(20)
? ?
地址VARCHAR2(20)
余额 NUMBER(7,2)
计费设备表
? 计费设备号(主码) NUMBER(4) ? 客户号 (外码)NUMBER(4) ? 设备类别(01,02)Characters(1)
应收费用表
? 年月Date
? 计费设备号(外码)NUMBER(4) ? 基本费用NUMBER(7,2) ? 附加费用1 NUMBER(7,2) ? 附加费用2 NUMBER(7,2) ? 应收违约金NUMBER(7,2) ? 实收违约金NUMBER(7,2) ? 减免违约金NUMBER(7,2)
? 收费标志(0未交费,1已交费)Characters(1)
第一部分:
1.指出你所设计表的各种键值,在选择时不要考虑性能问题。
1) 指出每张表是否存在主码,若存在,请指出具体的主码,并说明原因。
CLIENT主码:CLIENTNO DEVICE主码:DEVICENO MONTHLYNEDDPAY主码:ID
这些能够作为主码的字段的数据都是唯一的,因此能够进行唯一性标识,能够作为主码来使用。
2) 指出每张表是否存在备用码(除了主码之外的所有候选码),若存在,请指出所有的备用码,
并说明原因。
Client和Device表不存在候选码,
Montthlyneedpay 中的DeviceNo和logdate 可以作为一个候选码。
3) 指出各表中存在的外码和完整性约束,并说明原因。
Client表中没有外码,但是clientno不能为空,因为它是主码。
1
DEVICE:外码是CLIENTNO,Deviceno不能为null,因为它是主码 MONTHLYNEDDPAY:外码有DEVICENO和CLIENTNO。ID不能为空
2.列出各表所有列和各列的域(数据类型和格式),并说明理由。 CLIENT:CLIENTNO是主码
DEVICE: DEVICENO是主码
MONTHLYNEDDPAY: ID是主码
第二部分:
写出如下SQL语句:
1. 用DDL语言中的CREATE TABLE语句创建以上三张表,并确定指定了表的主码和备用码;
客户信息表:
createtable CLIENT (
CLIENTNO NUMBER(4)notnull, CLIENTNAME VARCHAR2(20), ADDRESS VARCHAR2(20), BALANCE VARCHAR2(20)
)
altertable CLIENT
addconstraint PK_CLIENT_CLIENTNO primarykey(CLIENTNO) usingindex
2
计费设备表: createtable DEVICE (
DEVICENO NUMBER(4)notnull, CLIENTNO NUMBER(4), TYPECHAR(1) )
altertable DEVICE
addconstraint PK_DEVICE_DEVICENO primarykey(DEVICENO) usingindex 应收费用表:
createtable MONTHLYNEEDPAY (
IDNUMBER(10)notnull, DEVICENO NUMBER(4), CLIENTNO NUMBER(4), LOGDATE DATE, SFROM NUMBER(10), STO NUMBER(10), BASICFEE NUMBER(7,2), ADDFEE1 NUMBER(7,2), ADDFEE2 NUMBER(7,2), LATEFEE NUMBER(7,2), NEEDPAY NUMBER(7,2), ACTUALPAY NUMBER(7,2), PAYDAY DATE, PAYSTATUS CHAR(1) )
altertable MONTHLYNEEDPAY
addconstraint PK_MONTHLYNEEDPAY_ID primarykey(ID) usingindex
2. 利用INSERT语句向客户信息表中插入1条客户记录;
insertinto client(clientno,clientname,address,balance)values(1,'张三','沈阳市和平区东北大学','123.09');
3. 利用INSERT语句向计费设备表中为该客户插入2条设备记录。
Insert into device(deviceno,clientno,type) values(1,1001,?1?); Inser into device(deviceno,clientno,type) values(2,1002,?1?);
3
4. 利用INSERT语句向应收费用表中为该客户插入2个月份的应收费信息。
Insert into monthlyneedpay
(id,deviceno,clientno,logdate,sfrom,sto,basicfee,addfee1,addfee2,latefee,needpay,actualpay,payday,paystatus)values(1,1,1001,to_date(?2015-1-31?,?YYYY-MM-DD?),120,150,10,1,2,0,14.7,0,to_date(?2015-2-5?,?yyyy-mm-dd?,),0) Insert into monthlyneedpay
(id,deviceno,clientno,logdate,sfrom,sto,basicfee,addfee1,addfee2,latefee,needpay,actualpay,payday,paystatus)values(2,2,1001,to_date(?2015-2-28?,?YYYY-MM-DD?)150,180,10,1,2,0,14.7,0,to_date(?2015-3-5?,?yyyy-mm-dd?,),0)
5. 在不考虑附加费和违约金的情况下,给定一个客户号,查询该客户号下所有设备累计应收基本费
用;
Select sum(needpay)+sum(addfee1)+sum(addfee2)+sum(latefee) from monthlyneedpay where clientno=1001;
第三部分:(理解关系运算)
1. 已知关系表r和s如下:
给出差运算r-s和s-r的结果;
表r A a d c 表s D b E g 4
B b a b F a C c f d
…… 此处隐藏:1119字,全部文档内容请下载后查看。喜欢就下载吧 ……相关推荐:
- [资格考试]机械振动与噪声学部分答案
- [资格考试]空调工程课后思考题部分整合版
- [资格考试]电信登高模拟试题
- [资格考试]2018年上海市徐汇区中考物理二模试卷(
- [资格考试]坐标转换及方里网的相关问题(椭球体、
- [资格考试]语文教研组活动记录表
- [资格考试]广东省2006年高应变考试试题
- [资格考试]LTE学习总结—后台操作-数据配置步骤很
- [资格考试]北京市医疗美容主诊医师和外籍整形外科
- [资格考试]中学生广播稿400字3篇
- [资格考试]CL800双模站点CDMA主分集RSSI差异过大
- [资格考试]泵与泵站考试复习题
- [资格考试]4个万能和弦搞定尤克里里即兴弹唱(入
- [资格考试]咽喉与经络的关系
- [资格考试]《云南省国家通用语言文字条例》学习心
- [资格考试]标准化第三范式
- [资格考试]GB-50016-2014-建筑设计防火规范2018修
- [资格考试]五年级上册品社复习资料(第二单元)
- [资格考试]2.对XX公司领导班子和班子成员意见建议
- [资格考试]关于市区违法建设情况的调研报告
- 二0一五年下半年经营管理目标考核方案
- 2014年春八年级英语下第三次月考
- 北师大版语文二年级上册第十五单元《松
- 2016国网江苏省电力公司招聘高校毕业生
- 多渠道促家长督导家长共育和谐 - 图文
- 2018 - 2019学年高中数学第2章圆锥曲线
- 竞争比合作更重要( - 辩论准备稿)课
- “案例积淀式”校本研训的实践与探索
- 新闻必须客观vs新闻不必客观一辩稿
- 福师大作业 比较视野下的外国文学
- 新编大学英语第二册1-7单元课文翻译及
- 年产13万吨天然气蛋白项目可行性研究报
- 河南省洛阳市2018届高三第二次统一考试
- 地下车库建筑设计探讨
- 南京大学应用学科教授研究方向汇编
- 2018年八年级物理全册 第6章 第4节 来
- 毕业论文-浅析余华小说的悲悯性 - 以《
- 2019年整理乡镇城乡环境综合治理工作总
- 广西民族大学留学生招生简章越南语版本
- 故宫旧称紫禁城简介




