第一范文网 - 专业文章范例文档资料分享平台

东北大学数据库实验报告

来源:用户分享 时间:2025/5/28 1:12:27 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

课程编号: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

搜索更多关于: 东北大学数据库实验报告 的文档
东北大学数据库实验报告.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c2rk4k2etdb00kc41zttu_1.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top