数据库第一次实验附结果.docx

上传人:b****8 文档编号:9829717 上传时间:2023-05-21 格式:DOCX 页数:19 大小:670.74KB
下载 相关 举报
数据库第一次实验附结果.docx_第1页
第1页 / 共19页
数据库第一次实验附结果.docx_第2页
第2页 / 共19页
数据库第一次实验附结果.docx_第3页
第3页 / 共19页
数据库第一次实验附结果.docx_第4页
第4页 / 共19页
数据库第一次实验附结果.docx_第5页
第5页 / 共19页
数据库第一次实验附结果.docx_第6页
第6页 / 共19页
数据库第一次实验附结果.docx_第7页
第7页 / 共19页
数据库第一次实验附结果.docx_第8页
第8页 / 共19页
数据库第一次实验附结果.docx_第9页
第9页 / 共19页
数据库第一次实验附结果.docx_第10页
第10页 / 共19页
数据库第一次实验附结果.docx_第11页
第11页 / 共19页
数据库第一次实验附结果.docx_第12页
第12页 / 共19页
数据库第一次实验附结果.docx_第13页
第13页 / 共19页
数据库第一次实验附结果.docx_第14页
第14页 / 共19页
数据库第一次实验附结果.docx_第15页
第15页 / 共19页
数据库第一次实验附结果.docx_第16页
第16页 / 共19页
数据库第一次实验附结果.docx_第17页
第17页 / 共19页
数据库第一次实验附结果.docx_第18页
第18页 / 共19页
数据库第一次实验附结果.docx_第19页
第19页 / 共19页
亲,该文档总共19页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

数据库第一次实验附结果.docx

《数据库第一次实验附结果.docx》由会员分享,可在线阅读,更多相关《数据库第一次实验附结果.docx(19页珍藏版)》请在冰点文库上搜索。

数据库第一次实验附结果.docx

数据库第一次实验附结果

南昌航空大学实验报告

2013年4月14日

课程名称:

数据库概论实验名称:

表与视图的基本操作

班级:

11206220姓名:

李昂同组人:

指导教师评定:

签名:

一、实验目的

掌握数据库表与视图的基础知识,并熟练掌握和使用SQL语句、SQLServer企业管理器创建数据库、表、索引、视图和修改表结构,并学会使用SQLServer查询分析器接收Transact-SQL语句和进行结果分析。

二、实验内容

1.建立数据库(数据库名称以学生姓名拼音命名)

示例:

createdatabasestudentdb

on

(name='studentdb',

filename='d:

\database\studentdb.mdf',

size=2,

maxsize=10,

filegrowth=1)

logon

(name='studentlog',

filename='d:

\database\studentlog.ldf',

size=1,

maxsize=5,

filegrowth=1)

go

2.使用SQL语句创建表结构,如下:

(1)/*员工人事表employee*/

emp_no

char(5)

Notnull

primarykey

员工编号

emp_name

char(10)

Notnull

员工姓名

sex

char

(1)

Notnull

性别

dept

char(4)

Notnull

所属部门

title

char(6)

Notnull

职称

date_hired

datetime

Notnull

到职日

birthday

datetime

Null

生日

salary

int

Notnull

薪水

addr

char(50)

null

住址

Mod_date

datetime

Default(getdate())

操作者

(2)/*客户表customer*/

cust_id

char(5)

Notnull

primarykey

客户号

cust_name

char(20)

Notnull,

客户名称

addr

char(40)

Notnull,

客户住址

tel_no

char(10)

Notnull,

客户电话

zip

char(6)

null

邮政编码

(3)/*销售主表sales*/

order_no

int

Notnull

primarykey

订单编号

cust_id

char(5)

Notnull,

客户号

sale_id

char(5)

Notnull,

业务员编号

tot_amt

numeric(9,2)

Notnull,

订单金额

order_date

datetime

Notnull,

订货日期

ship_date

datetime

Notnull,

出货日期

invoice_no

char(10)

Notnull

发票号码

 

(4)/*销货明细表sale_item*/

order_no

int

Notnull,

primarykey

订单编号

prod_id

char(5)

Notnull,

产品编号

qty

int

Notnull

销售数量

unit_price

numeric(7,2)

Notnull

单价

order_date

datetime

null

订单日期

(5)/*产品名称表product*/

prod_id

char(5)

Notnull

primarykey

产品编号

prod_name

char(20)

Notnull

产品名称

3.分别为每张表建立主键约束

4.为相关表建立外键约束

5.在表employee加入CHECK约束:

输入的员工编号必须以E开头的5位数编号,性别只能为M/F

6.为销售主表sales中的发票编号字段建立UNIQUE约束

7.创建一个视图,该视图只含上海客户信息,即客户号、客户姓名、住址

8.对视图添加一条记录数据(注意:

分别查看customer表和该视图的结果)

9.删除视图中所有姓“王”的客户数据

10.通过视图修改表内某一客户的姓名

11.由两个基本表employee和sales,创建一个视图,该视图包含相同业务员的编号、姓名、订单号、销售总金额

12.将上述视图中订单号为10001的记录的销售总金额改为60000

13.给上述视图添加一条记录数据

14.删除上述视图

 

三、实验步骤

1.建立数据库

于是在D盘新建文件夹,并命名为“database”.

 

于是把T—SQL语句中的“size=2”改为“size=3”之后,运行如下:

 

2.使用SQL语句创建表结构

(1)/*员工人事表employee*/

(2)/*客户表customer*/

由于customer表之后需要对数据的各种操作,请允许我擅自加进一些数据方便后面的操作。

(3)/*销售主表sales*/

(4)/*销货明细表sale_item*/

 

(5)/*产品名称表product*/

3.分别为每张表建立主键约束

(1)/*员工人事表employee*/

 

(2)/*客户表customer*/

(3)/*销售主表sales*/

 

(4)/*销货明细表sale_item*/

(5)/*产品名称表product*/

 

4.为相关表建立外键约束

 

5.在表employee加入CHECK约束:

输入的员工编号必须以E开头的5位数编号,性别只能为M/F

 

6.为销售主表sales中的发票编号字段建立UNIQUE约束

7.创建一个视图,该视图只含上海客户信息,即客户号、客户姓名、住址

视图创建成功,可是把鼠标移到列名上却显示“视图中已存在名为’cust_view’的对象了”。

 

8.对视图添加一条记录数据(注意:

分别查看customer表和该视图的结果)

插入失败

 

9.删除视图中所有姓“王”的客户数据

 

10.通过视图修改表内某一客户的姓名

11.由两个基本表employee和sales,创建一个视图,该视图包含相同业务员的编号、姓名、订单号、销售总金额

12.将上述视图中订单号为10001的记录的销售总金额改为60000

 

13.给上述视图添加一条记录数据

添加失败

14.删除上述视图

四、实验总结

本次实验,遇到了不少问题:

1、未先创建数据库的目录,就用T—SQL语句试图直接新建一条路径来作为数据库的路径。

于是我在D盘创建“database”,解决了这个问题。

2、创建视图cust_view时只含三个信息,接下来插入信息时,由于其对应的表中第四条信息不能为NULL,无法进行插入(后来才知道原来不是所有题目都是能运行成功的)。

3、由于事先不知道给视图cust_view插入信息是做不出来的的,我就把customer表删了,、再重建时把tel_no的NOTNULL约束给去掉了。

结果还是插不进去。

经过一番思索,发现cust_view在创建时就有条件“whereaddlike‘上海’”,所以我的地址为“南昌市…”的信息就插不进去。

4、第9题让我删除视图中所有姓“王”的客户数据,一开始我采用方法

Delete

Fromcust_view

Wherecust_name=’王%’;

显示(0行受影响),我就觉得奇怪。

后来苦苦思索,发现我把语句Wherecust_name=’王%’;给写错了,应该写成wherecust_namelike‘王%’;,开始还以为那样写是可以的。

总结:

1、实验前没有好好预习;

2、对T—SQL语句掌握不够到位,不够熟悉;

3、做实验时的紧张感不够,应该不断督促自己进入一个高度集中状态,遇到不懂的地方不能磨蹭,要立刻思索解决办法。

程序中需要进一步完善的地方就是:

以之为对象创建视图的表中,不准备插入数据的列名最好不要有notnull约束,不然操作就失败。

通过本次试验,让我对T—SQL语言的运用与了解上升了一个台阶,把学完就忘的知识巩固了一遍,也让我学会了在遇到困难的时候,多XX查查自己的错误,遇到不明白的T—SQL语句也应该XX看看它的功能。

自学是非常重要的。

实验之前进行充分预习也是很必要的!

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 初中教育 > 语文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2