数据库实验3 表、ER图、索引和视图的基础操作

本次实验涉及创建名为DingBao的数据库,包括PAPER、CUSTOMER和CP三张表,分别表示报纸编码、顾客编码和报纸订阅。在表结构设计中,设置主键和约束。接着,创建了视图C_P_N展示顾客订阅详情,并尝试通过视图进行数据更新。最后,通过反向工程生成ER图,巩固了数据库管理和操作的知识。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数据库实验3:创建数据库以及表,创建和使用视图

实验课教材(MySQL数据库技术与实验指导)第66页“实验内容与要求”1-3题

1 、实验内容与要求

( 1 )创建数据库及表

用己掌握的某种方法,创建订报管理子系统的数据库 DingBao ,在 DingBao 数据库中用交互式界面操作方法或 CREATETABLE 创建如下 3 张表所示的表结构(表名及字段名使用括号中给出的英文名,如表 3-1 ~ 3-2 )并完成 3 张表所示内容的输入,根据需要可自行设计输入更多的表记录。

报纸编号 ( pno ) 报纸名称 (pna) 单价 ( ppr )
000001 人民日报 12.5
000002 解放军报 14.5
000003 光明日报 10.5
000004 青年报 11.5
000005 扬子晚报 18.5

表 3-1 报纸编码表( PAPER ) 表 3-2 顾客编码表( CUSTOMER )

顾客编号 ( cno ) 顾客姓名 (cna) 顾客地址 ( adr )
0001 李涛 解放东路 123 号
0002 钱金浩 人民西路 234 号
0003 邓杰 惠河路 270 号
0004 朱海红 中山东路 432 号
0005 欧阳阳文 无锡市中山东路 532 号

表 3-3 报纸订阅表( CP )

顾客编号 ( cno ) 报纸编号 (pna) 订阅份淑 ( num )
0001 000001 2
0001 000005 6
0002 000003 2
0003 000003 2
0004 000001 1
0004 000005 1
0005 000002 1
0005 000005 5

创建表结构时要求满足:

● 报纸编码表( PAPER )以报纸编号( pno )为主键,并为报纸编码表( PAPER )定义一个单价不大于 30 的 CHECK 约束;

● 顾客编码表( CUSTOMER )以顾客编号( cno )为主键,并为身份证号 (id) 创建 UNIQUE 约束。

● 报纸订阅表( CP )以报纸编号( pno )与顾客编号( cno )为主键, pno 和 cno 分别引用报纸编码表( PAPER )的报纸编号( pno )和顾客编码表( CUSTOMER )的顾客编号( cno ),订阅份树的默认值为 1 。

创建一个 ACCESS 数据库 DingBao(DingBao.MDB 文件 ) ,把在 SQL SERVER 中创建的 3 表导出到 ACCESS 数据库中。

( 2 )创建与使用视图

● 在 DingBao 数据库中,创建含有顾客编号、顾客姓名、报纸编号、报纸名称、订阅份数等信息的视图,视图名设定为 C_P_N 。

● 修改已创建的视图 C_P_N ,使其含有报纸单价信息。

● 通过视图 C_P_N ,查询“人民日报”被订阅的情况,能通过视图 C_P_N 实现对数据的更新操作吗?请尝试各种更新操作,例如修改某人订阅某报的份数,修改某报的名称等。

● 删除视图 C_P_N 。

实验过程:

  1. 创建数据库以及表
    点击file,创建新的model.

    双击mydb将其重命名为DingBao,然后点击Add Diagram创建新的EER图

    然后拖动左边窗口的table创建新的table
    按照要求创建三个table,命名以及其中的数据元素类型如下所示:
    报纸编码表(paper)table:
    主键为pno,将其数据类型设置为VARCHAR,单价用DECIMAL(3,1)表示,报纸名称pna用VARCHAR表示
    paper
    顾客编码表(customer) table:
    顾客编码表以顾客编号cno为主键,在此用VARCHAR来存储。在此处顾客姓名和顾客地址均用VARCHAR存储。
    customer
    顾客订阅表(cp)table:
    顾客订阅表以报纸编号cno和顾客编号pno为主键,且num的默认值为1
    cp
    至此完成了三个表的创建。在这里通过正向工程将其生成为本地数据库
    通过正向工程,便可以在本地数据库看到名字为dingbao的数据库,且表均存在.
    之后插入数据:
    为paper表插入数据:
--逐一插入元素
 insert into paper
    values(</
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值