数据库实验报告1
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据库实验报告一
课程名称数据库
实验名称数据定义
学生学院自动化
专业班级______ _______ 学号_____ ________
学生姓名________ ____________ 指导教师________黄永慧 ________
2014 年3月23日
一、实验目的与要求
目的:使用SQL语言实现数据库的创建、删除;基本表的创建、删除、更新工作;以及索引的创建、删除工作。
要求:1、在SQL SERVER 2000查询分析器中,利用SQL语言中CREATE、DROP 命令实现数据库的创建及删除工作。
2、在SQL SERVER 2000查询分析器中,利用SQL语言中CREATE、ALTER及DROP命令进行基本表的创建、更新、删除工作,并实现基本表中各类完整性约束条件的限定。
3、在SQL SERVER 2000查询分析器中,利用SQL语言中CREATE、ALTER及DROP命令进行基本表中索引的创建、更新、删除工作。
4、完成上述工作后,在SQL SERVER 2000企业管理器中,查看是否成功创建实验所要求数据库、基本表、各类完整性约束条件及索引等内容。
二、实验方案
所有实验内容必须在SQL Server 2000的查询分析器中完成,设置查询分析器的结果区为Standard Execute(标准执行)或Executed Grid(网格执行)方式.发布执行命令.并在结果区中查看查询结果,如果结果不正确则需要进行修改,直到正确为止。要求完成如下内容:
1.定义数据库
定义一个借阅数据库,要求所定义的数据库大小为3M,且数据库名称为Labery_学号。
2.定义下列数据库基本表
在所定义的借阅数据库Labery_学号中,按要求定义如下数据库表:
1)书(book)
2)借书证(card)
3)借书记录(borrow)
3.完整性约束条件:
主要内容为:
1)确定各基本表的主码;
2)确定各基本表的外码;
3)要求在定义各基本表的同时,确定如下完整性约束条件
1、定义各基本表主码,并且要求主属性不能为空;
2、如果有外码,定义各基本表外码;
3、要求检查借书证中属性Type的值是否为('T','G','U','F'));
4、借书记录borrow基本表中borrow_date默认日期为当前时间。
4)确定各基本表哪些字段需要建立索引。
三、实验结果和数据处理
1.SQL语句:
CREATE DATABASE Labery_3211001316
ON PRIMARY(NAME=Labery_3211001316,
FILENAME='C:\Documents and Settings\Administrator\桌面\数据库实验\3211001316.MDF',
SIZE=3MB,
MAXSIZE=6MB,
FILEGROWTH=1MB)
运行结果:
2.SQL语句:
USE labery_3211001316;
CREATE TABLE book
(bno char(8) not null primary key,
category varchar(10) not null,
title varchar(40) not null,
press varchar(30),
book_year int not null,
author char(20),
price decimal(7,2) not null,
book_total int not null)
运行结果:
SQL语句:
CREATE TABLE card
(cno char(7) not null primary key,
name char(8) not null,
department varchar(40),
type char(1) not null check(type in('T','G','U','F')))
运行结果:
SQL语句:
CREATE TABLE borrow
(cno char(7) not null foreign key(cno)references card(cno),
bno char(8) not null foreign key(bno)references book(bno),
borrow_date smalldatetime not null default getdate(),
return_date smalldatetime)
运行结果:
建立索引:
CREATE INDEX b_book_year ON book(book_year desc)
CREATE INDEX b_borrow_date ON borrow(borrow_date desc)
四、结论
通过本实验基本学会使用SQL语言实现数据库的创建、删除;基本表的创建、删除、更新工作;以及索引的创建、删除工作。
五、问题与讨论
1)如果在创建关系数据库基本表时,未创建完整性约束条件,对于数据库会有何影响?
答:以后增加数据库数据时,有可能插入无效或重复的数据。当想删除有多张表中的一张时,由于删除了该表导致其他表数据不完整不能用。
2)如果在创建关系数据库基本表时,未创建索引,对于数据库的运行性能会有何影响?
答:索引是以牺牲内存空间换取检索时间的,未创建索引时会使运行时的检索变得很慢。