数据库系统概论实验

合集下载

数据库系统概论实验

数据库系统概论实验

数据库系统概论实验数据库系统概论是计算机科学与技术专业的一门重要课程,其实验环节是帮助学生巩固理论知识、掌握数据库系统的基本操作和设计方法的关键环节。

本文将从实验的目的、实验环境与工具、实验内容以及实验过程中可能遇到的问题等方面进行详细介绍。

一、实验目的数据库系统概论实验的主要目的是通过实践操作,帮助学生理解和掌握数据库系统的基本概念、基本操作和基本设计方法,培养学生对数据库系统的使用和开发能力。

二、实验环境与工具数据库系统概论实验通常在计算机实验室进行,学生可以使用计算机实验室提供的数据库管理系统软件进行实验操作。

常见的数据库管理系统软件有Oracle、MySQL、SQL Server等,根据实验的要求和实验室条件,确定使用哪种数据库管理系统进行实验。

三、实验内容数据库系统概论实验的内容通常包括以下几个方面:1. 数据库的创建与删除:学生需要学会使用SQL语句创建数据库,并了解数据库的基本属性和结构;同时,学生还需要学会使用SQL 语句删除数据库。

2. 表的创建与删除:学生需要学会使用SQL语句创建表,并定义表的属性、类型和约束条件;同时,学生还需要学会使用SQL语句删除表。

3. 数据的插入与查询:学生需要学会使用SQL语句向表中插入数据,并学会使用SQL语句查询表中的数据。

4. 数据的更新与删除:学生需要学会使用SQL语句更新表中的数据,并学会使用SQL语句删除表中的数据。

5. 数据库的备份与恢复:学生需要学会使用数据库管理系统提供的备份和恢复工具,实现数据库的备份和恢复操作。

四、实验过程中可能遇到的问题在实验过程中,学生可能会遇到以下几个常见问题:1. 数据库连接问题:学生需要确保数据库连接的正确性,包括数据库的URL、用户名和密码等信息。

2. SQL语句错误:学生在编写SQL语句时可能会出现语法错误或逻辑错误,需要仔细检查和调试SQL语句。

3. 数据库权限问题:学生在进行数据库操作时可能会遇到权限不足的问题,需要联系管理员进行权限的调整。

《数据库系统概论》实验报告

《数据库系统概论》实验报告

实验内容:一.配置数据源配置数据源共有两种方法:方法一:运用数据源管理工具来进行配置。

方法二:使用Driver Manager 提供的ConfigDsn函数来增加、修改或删除数据源。

这种方法特别适用于在应用程序中创建的临时使用的数据源。

在本实验中,我们采用第一种方法创建数据源。

实验中需要同时用到KingbaseES和SQL Server,因此需要分别建立两个数据源,我们将其取名为KingbaseES ODBC和SQLServer。

下面是建立这两个数据源的具体步骤。

选择『开始』│『设置』│『控制面板』菜单,在弹出窗口中双击“管理工具”图标进入管理工具界面,双击“数据源(ODBC)”图标。

1.建立KingbaseES数据源。

(1)选择“系统DSN”选项,单击【添加(D)…】按钮,系统弹出“创建新数据源”对话框,如图1所示:图1 数据源管理器(2)如图2所示,在ODBC驱动器程序列表中,选择“Kingbase ODBC Driver”,单击【完成】按钮,系统弹出“Kingbase ODBC数据源配置”对话框,如图3所示。

图2 创建新数据源(3)输入数据源名称、数据库名称以及数据库IP地址,单击【确定】按钮。

图中数据源的名称为Kingbase ODBC,连接的数据库为TEST,服务器为localhost,用户名和口令分别为SYSTEM和MANAGER。

注意:Kingbase区别大小写。

图3 Kingbase ODBC数据源配置(4)单击【保存】按钮,这样就创建了一个名为“Kingbase ODBC”的Kingbase ES ODBC数据源。

(5)如果要测试和数据源的连接是否成功,可以单击“测试连接”,系统会根据测试的结果反馈相应的消息框,如图4和图5所示。

图4 连接成功图5 连接失败以上五步就建立了一个名为KingbaseES ODBC的数据源。

2.建立SQLServer数据源。

(1)选择“系统DSN”选项,单击【添加(D)…】按钮,系统弹出“创建新数据源”对话框,如图6所示:图6 数据源管理器(2)如图7所示,在ODBC驱动器程序列表中,选择“SQL Server”,单击【完成】按钮,系统弹出“Create New Data Source to SQL Server”对话框,如图8所示。

数据库系统概论_上机实验报告

数据库系统概论_上机实验报告

XXXXXX《数据库系统概论》上机实验报告学院名称:XXXXXX学生姓名:XX专业名称:XXXX班级学号:XX实验一SQL Server管理工具和实用程序一、实验目的:掌握SQL Server管理工具和实用程序的使用方法及步骤。

掌握用企业管理器和命令两种方法管理SQL Server数据库的方法及步骤。

掌握用企业管理器和命令两种方法创SQL Server数据库表的方法及步骤。

二、实验时间:2011-10三、实验内容:1.用企业管理器创建一个数据库Market。

2.用命令创建数据库Market。

3.用系统存储过程sp_helpdb显示数据库信息。

4 . 用企业管理器修改、显示并删除数据库Market。

5 . 用命令修改、并删除数据库Market。

6 . 用企业管理器为Market数据库创建表Customers、Goods、Orders。

7 . 用命令为数据库Market创建表Customers、Goods、Orders。

8 . 用企业管理器修改、显示并删除表。

9 . 用命令修改、并删除表。

四、实验步骤1. 使用企业管理器创建数据库。

创建一个数据库,名称为Market,数据文件的初始大小为20MB,文件增长方式为自动增长,文件增长增量设为5MB,文件的增长上限为500MB.日志文件的初始大小为10MB, 文件增长增量设为1MB,文件的增长限制设为100MB.数据文件的逻辑文件名和物理文件文件名均采用默认值,分别为Market_data和d:\Microsoft SQL Server\MSSQL\data\Market_data.md f;事物日志文件的逻辑文件名和物理文件名也采用默认值,分别为Market_log和d:\Microsoft SQL Server\MSSQL\data\Market_log.ldf . 打开企业管理器,逐层找到然后右键,新建数据库,然后如图所示设置文件及日志文件属性。

2.在查询分析器中使用T-SQL语句创建数据库创建一个名为Market的数据库(注意e盘下应存为sql_data目录)CREATE DATABASE MarketON( NAME=Market_Data,FILENAME=’e:\sql_data\Market_Data.mdf’,SIZE=10,MAXSIZE=50,FILEGROWTH=10%)LOG ON(NAME=Market_Log,FILENAME=’e:\sql_data\Market_Log.ldf’,SIZE=5,MAXSIZE=15,FILEGROWTH=10%);3.用T-SQL语句在Market数据库中创建客户基本信息表Customers、货品信息表Goods、订单信息表Orders,它们的定义如下CREATE TABLE Customers(CustomerID int IDENTITY(1,1) PRIMARY KEY,CName varchar(8) NOT NULL,Address varchar(50),City varchar(10),Tel varchar(20) UNIQUE,Company varchar(50),Birthday datetime,Type tinyint DEFAULT 1 );CREATE TABLE Goods(GoodsID int CONSTRAINT C1 PRIMARY KEY,GoodsName varchar(20) NOT NULL,Price money,Description varchar(200),Storage int,Provider varchar(50),Status tinyint DEFAULT(0));CREATE TABLE Orders(OrderID int IDENTITY(1,1) CONSTRAINT C2 PRIMARY KEY,GoodsID int NOT NULL REFERENCES Goods(GoodsID) ON DELETECASCADE,CustomerID int NOT NULL FOREIGN KEY(CustomerID) REFERENCESCustomers(CustomerID) ON DELETE NO ACTION,Quantity int NOT NULL CONSTRAINT C3 CHECK(Quantity>0),OrderSum money NOT NULL,OrderDate datetime DEFAULT(getdate()) );五、测试数据及运行结果1.题中所述的数据库建立完成后的结果:2.数据库中表建立的结果:1. Market中创建学生表Student、课程表Course、学生选课表SC如图:学生表Student课程表Course学生选课表SC2.Market数据库中的创建客户基本信息表Customers、货品信息表Goods、订单信息表Order客户基本信息表Customers货品信息表Goods订单信息表Order六、心得体会通过这次课内实验,使我熟悉了SQL Server 2000的环境,掌握了企业管理器的基本使用方法,对数据库及其对象有了基本了解,掌握查询分析器的基本使用方法以及在查询分析器中初步学会了使用T-SQL语句创建数据库。

数据库系统概论实验报告

数据库系统概论实验报告

数据库系统概论实验报告一、实验目的1、了解数据库系统概论的定义、特点及应用;2、掌握数据库系统的结构及功能;3、熟悉SQL语言及其语法;4、掌握数据库系统的基本操作;5、掌握数据库查询、更新、分析及设计。

二、实验要求1、掌握数据库系统的基本概念,理解SQL语言的语法及用法;2、熟练掌握常用数据库系统的基本操作,实现常用的数据库查询、更新、分析及设计;3、掌握数据库系统的结构及功能;4、能够使用SQL语言编写复杂的查询和更新语句;5、能够实现复杂的数据库分析和设计。

三、实验内容1、理解数据库系统的定义、特点及应用;2、熟悉SQL语言的语法及用法;3、掌握数据库系统的基本操作;4、实现数据库查询、更新、分析及设计。

四、实验步骤1、准备实验数据库:在实验中使用的数据库是SQL Server 2000;2、用SQL语言完成数据表的构建工作:建立实验所需的数据表,分析实验的表结构,在数据库中建立实验所需的表格;3、用SQL语言完成数据操作工作:对实验数据库中表进行查询、插入、更新、删除等操作;4、用SQL语言进行数据报表输出,检查实验数据库中的数据是否正确;5、用SQL语言完成数据分析和设计:分析实验表格中的数据,根据实验的需要进行数据库的设计,进行数据的分析和挖掘;6、完成实验报告:按照实验要求,写出实验报告,给出实验结果,及讨论数据库实验中遇到的问题及解决方案。

五、实验总结本次实验使用的是SQL Server 2000的数据库,学习运用SQL语言完成数据库的基本操作,熟练掌握常用的查询、插入、更新、删除、分析及设计的技能,深入理解数据库系统及其实现的机理,提高对数据库的操作能力。

通过本次实验,加深了对数据库系统的概念、应用及理论的认识,为今后更加深入的学习、研究、实践打下了坚实的基础。

数据库系统概论实验报告1

数据库系统概论实验报告1

实验一认识DBMS【实验目的】1.通过对某个商用数据管理系统的安装使用,初步了解DBMS的工作环境和系统构架。

2.熟悉对SQL Server的安装。

【实验环境】1.操作系统:Windows XP。

2.数据库管理系统:Microsoft SQL Server 2005。

【实验内容及步骤】1.安装Microsoft SQL Server 2005。

①运行Microsoft SQL Server 2005安装程序,选中“我接受许可条款和协议”,单击“下一步”,点击“安装”。

随后继续单击“下一步”即可。

②待出现“服务账户”窗口时,选择“使用内置系统账户”,单击“下一步”。

③选择“混合模式”,输入密码,单击“下一步”。

④最后单击“安装”,等待完成即可。

2.启动和停止数据库服务。

①启动SQL Server Management Studio后,数据库服务自动启动。

右击对象资源管理器窗口中的数据库引擎,选择“停止”,即可停止数据库服务。

②“Microsoft SQL Server 2005”→“配置工具”→“SQL Server外围应用配置器”,单击“服务和连接的外围应用配置器”,可启动和停止数据库服务。

3.SQL Server的登录。

“开始”→“程序”→“Microsoft SQL Server 2005”→“SQL Server Management Studio”。

①Windows身份验证登录。

②SQL Server身份验证登录。

【出现的问题及解决方案】1.在安装IIS服务时要求选择安装源,否则无法继续安装。

解决方法:单独下载IIS的组件并安装那可。

2.在登录时选择“SQL Server身份验证”,输入密码后无法登录。

解决方法:在“SQL Server Configuration Manager”中,检查SQL Server服务是否正在运行,并确定密码的大小写,重新登录即可。

数据库系统概论(第四版)第三章实验

数据库系统概论(第四版)第三章实验

实验二:SQL查询示例练习1 实验目的1)掌握SQL Server数据库附加操作。

2)掌握SQL Server Management Studio中编写和执行SQL代码的方法。

3)完成教材3.4节的SQL查询例子。

4)练习SQL查询的分析能力,撰写关系代数表达式2 实验内容2.1 按照实验指导3.1,将“实验02压缩包”中的SQL Server数据库文件附加到SQL Server 2008数据库服务器中。

2.2 按照实验指导3.2,完成教材3.4节的所有SQL查询例子(【例1】-【例52】)。

2.3 填写实验报告。

2.4 写出教材3.4节的所有SQL查询例子(【例1】-【例52】)的关系代数表达式。

3 实验指导3.1 SQL Server 2008附加数据库操作。

步骤1:登录和连接了SQL Server 2008数据库引擎之后,在Microsoft SQL Server Management Studio的对象资源管理器中打开数据库(如下图)。

资源管理器树中的根节点是SQL Server数据库服务器,如果数据库服务器没有启动,右键单击该节点启动之。

步骤2:右键单击【数据库】节点,选择【附件】菜单命令,单击【添加】按钮,然后把实验2压缩包中的SQL Server数据库文件DBSC.mdf和DBSC.ldf附加到数据库服务器上(见下图)。

注意:两个数据库文件最好存放在你易于管理的一个文件夹中。

附加了数据库之后,【数据库】节点下会看到DBSC数据库(见下图)。

DBSC数据库实现了上课用的教材中的例子,有3个表,其关系模式和数据和教材上的完全相同。

目的是为了让大家把教材上的SQL语句都过一遍,理解SQL查询语句的写法。

3.2 编写和执行SQL查询语句。

单击管理工具窗口左上侧【新建查询】按钮打开查询编辑器(如下图)。

注意:图中三个图突出的红色框是为了提醒大家执行SQL语句要注意的,左边红色框指定当前的数据库是DBSC,右边的红色框是执行SQL语句的按钮。

数据库系统概论-实验内容

数据库系统概论-实验内容

实验一:交互式SQL(1)实验目的:掌握使用Transact-SQL语言创建数据库和表及对表进行插入、修改和删除数据的操作。

实验内容:1.使用Transact-SQL语言分别创建学生数据库、学籍表、学生成绩表、班级信息表、年级课程信息表和系统用户表。

并建立表间的参照关系。

Student_lnfo 学籍信息表Result_ lnfo学生成绩信息表Class_lnfo 班级信息表Gradecourse_Info 年级课程设置表Coure_Info 课程基本信息表User_lnfo 系统用户表2.查看和修改表的结构。

3.使用Transact-SQL语言向各个表插入至少4条记录4.修改表中某个字段的字段值:将学生成绩信息表中所有学生的“数据结构”课程的成绩都加2分。

1.创建数据库和表create database xsglon primary(name='xsgl_dat',filename='f:\xsgl\xsgl.mdf',size=10,maxsize=20,filegrowth=5%),filegroup data1(name='xsglgroup_dat',filename='f:\xsgl\xsglgroup.ndf',size=2,maxsize=100,filegrowth=1)Log on(name='xsgl_log1',filename='f:\xsgl\xsgl_log1.ldf',size=10MB,maxsize=25MB,filegrowth=5%)create table student_info(student_ID char(4) primary key,student_Name char(10),student_Sex char(2),born_Date datetime,class_NO char(10),tele_Number char(10) NULL,ru_Date datetime null,address varchar(50) null,comment varchar(200))create table class_info(class_no char(10) primary key, grade char(10),director char(10) null, classroom_no char(10) null)create table course_info( course_no char(4) primary key, course_name char(10) null, course_type char(10) null, course_des char(50) null )create table gradecourse_info( grade char(10) ,course_name char(10) not null, course_no char(4) not null, credit smallint not null,primary key (grade,course_no))create table result_info(Exam_No char(10) primary key, student_ID char(4) not null, Class_No char(10) not null, Course_No char(10) null, Result float null)create table user_info(user_id char(10) primary key,user_pwd char(10) not null,user_des char(10) null)2.查看和修改表的结构sp_help student_infosp_columns student_info将student_info的tele_number属性列的类型改为char(12):alter table student_infoalter column tele_number char(12)3.使用Transact-SQL语言向各个表插入至少4条记录insert into course_info values('jsj0004','数据结构','必修','专业必修')insert into course_info values('jsj0005','操作系统','必修','专业必修')insert into course_info values('jsj0006','计算机网络','必修','专业必修')4.修改表中某个字段的字段值:将学生成绩信息表中所有学生的“数据结构”课程的成绩都加2分。

数据库系统概论-SQL语言实验报告

数据库系统概论-SQL语言实验报告

数据库系统概论学号:姓名:班级:指导老师:(一)实验目标通过“数据库系统概论”书本知识学习和“数据库原理与应用”课程教学所授知识对“教学管理系统”实验内容进行分析,建立相应的数据库、数据表、数据视图以及相应的界面程序,利用SQL结构化查询语言提供的数据操纵功能,编程设计实现对数据的定义、修改、删除、查询、更新以及控制等操作,并按照实验指导书的各项要求完成实验。

(二)实验说明1. 在工作站计算机的硬盘D盘符下,请同学们建立以自己名字命名的子目录(可以是汉字名,也可以是汉语拼音字母)。

再在此子目录下,建立用于存放上机实验文件的相关子目录,它们是\DATA;\PROGS 等,Data目录用来存放“教学管理系统”数据库文件。

Progs用来存放实验中的SQL语句和执行结果。

如用“萨师煊”的汉语拼音的第一个字母组成的“SSX”在D盘上建立目录后的结果是:D:\SSX\DATA; D:\SSX\PROGS 等。

2. 本课程实验要利用数据库管理系统SQL SEVER 2000进行实验,每台计算机上都已经安装好了微软公司的SQL Server 2000数据库管理系统,请熟悉SQL SEVER 2000的同学,根据SQL SEVER提供的客户端编程界面按照实验要求完成实验。

3. SQL Server 2000的安装过程见附录,建议同学们在自己的电脑上进行安装,熟悉安装过程及安全性设置。

在数据库身份验证模式上,建议使用混合模式。

实验一:设计数据库、数据表和数据视图并编程实现1. 目的要求(1)这是一个验证性实验。

(2)利用所学E-R数据模型图概念,描述“学生管理”系统中数据表之间以及各数据项之间的联系。

并按照课程教学大纲要求,转化相关E-R图为关系模型中对应的二维表,指出每个数据表中的关键字、索引项、外码以及表中需要满足完整性约束条件;(3)对照关系模型中(1:1)、(1:n)、(m:n)实体联系,指出各数据表实体属于哪一类联系。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

10软件1班22号周超
实验八
一、实验内容
以SPJ数据库为例,完成以下要求
1、定义S、P、J、SPJ实体完整性
2、表间的参照完整性
3、用户定义完整性
二、实验过程
1、SQL定义各表
SQL:
CREATE DATABASE SPJ
ON(NAME='SPJ_DATA',
FILENAME='E:\SPJ.mdf',
SIZE=5MB,
FILEGROWTH=10%)
USE SPJ
CREATE TABLE S
(SNO CHAR(4)PRIMARY KEY,
SNAME CHAR(20)UNIQUE,
STATUS INT CHECK(STATUS>=10 AND STATUS<=50), CITY CHAR(20)NOT NULL);
CREATE TABLE P
(PNO CHAR(4)PRIMARY KEY,
PNAME CHAR(20)NOT NULL,
COLOR CHAR(10)NOT NULL,
WEIGHT SMALLINT NOT NULL);
CREATE TABLE J
(JNO CHAR(4)PRIMARY KEY,
JNAME CHAR(20)UNIQUE,
CITY CHAR(20)NOT NULL);
CREATE TABLE SPJ
(SNO CHAR(4),
PNO CHAR(4),
JNO CHAR(4),
QTY INT NOT NULL,
PRIMARY KEY(SNO,PNO,JNO),
FOREIGN KEY(SNO)REFERENCES S(SNO),
FOREIGN KEY(PNO)REFERENCES P(PNO),
FOREIGN KEY(JNO)REFERENCES J(JNO));
附表:S表
P表
SPJ表
J表
2、(举例,违反3类完整性)
2.1、违反实体完整性(记下出错提示)
1、主码值不唯一
在J表中插入如下数据时
INSERT
INTO J
VALUES('J1','三建','北京');
INSERT
INTO J
VALUES('J1','一汽','长春');
会出现提示错误:消息2627,级别14,状态1,第1 行
违反了PRIMARY KEY 约束'PK__J__0425A276'。

不能在对象'dbo.J' 中插入重复键。

语句已终止。

2、主码属性值为空
在J表中插入以下数据时
INSERT
INTO J
VALUES(null,'无线电厂','常州');
出现错误提示:
消息515,级别16,状态2,第1 行
不能将值NULL 插入列'JNO',表'SPJ.dbo.J';列不允许有空值。

INSERT 失败。

语句已终止。

2.2、违反参照完整性(记下出错提示)
1.在参照表中插入元组
在SPJ表中插入如下数据
INSERT
INTO SPJ
V ALUES('S6','P1','J1','200');
出现提示错误:
消息547,级别16,状态0,第1 行
INSERT 语句与FOREIGN KEY 约束"FK__SPJ__SNO__1CF15040"冲突。

该冲突发生于数据库"SPJ",表"dbo.S", column 'SNO'。

语句已终止。

2.在参照表中修改外码值
在SPJ表中修改数据,输入如下SQL语句
UPDATE SPJ
SET SNO='S6'
WHERE SNO='S1';
出现提示错误:
消息547,级别16,状态0,第1 行
UPDA TE 语句与FOREIGN KEY 约束"FK__SPJ__SNO__1CF15040"冲突。

该冲突发生于数据库"SPJ",表"dbo.S", column 'SNO'。

语句已终止。

3.在被参照表中删除元组
在J表中删除元组,输入如下语句并执行
DELETE
FROM J
WHERE JNO='J2';
出现提示错误:
消息547,级别16,状态0,第1 行
DELETE 语句与REFERENCE 约束"FK__SPJ__JNO__1ED998B2"冲突。

该冲突发生于数据库"SPJ",表"dbo.SPJ", column 'JNO'。

语句已终止。

4.在被参照表中修改外码值
在P表中修改数据,输入如下语句
UPDATE p
SET PNO='P7'
WHERE PNO='P5';
出现提示错误:
消息547,级别16,状态0,第1 行
UPDA TE 语句与REFERENCE 约束"FK__SPJ__PNO__1DE57479"冲突。

该冲突发生于数据库"SPJ",表"dbo.SPJ", column 'PNO'。

语句已终止。

2.3、违反用户定义完整性(记下出错提示)
1、违反列值非空
在J 表中插入以下数据时
INSERT
INTO J1
VALUES('J7','半导体厂',null);
出现错误提示:
消息515,级别16,状态2,第1 行
不能将值NULL 插入列'CITY',表'SPJ.dbo.J1';列不允许有空值。

INSERT 失败。

语句已终止。

原因:在建表时已把列CITY定义为NOT NULL
2、违反列值唯一
在P表中插入如下数据时会出现以下提示错误
INSERT
INTO J
VALUES('J1','三建','北京');
INSERT
INTO J
VALUES('J2','三建','长春');
出现提示错误:
消息2627,级别14,状态1,第4 行
违反了UNIQUE KEY 约束'UQ__J__0519C6AF'。

不能在对象'dbo.J' 中插入重复键。

语句已终止。

3.违反列值满足布尔表达式
在S表中插入如下数据
INSERT
INTO S1
VALUES('S1','精益','60','天津');
出现提示错误:消息547,级别16,状态0,第1 行
INSERT 语句与CHECK 约束"CK__S1__STATUS__1CF15040"冲突。

该冲突发生于数据库"SPJ",表"dbo.S1", column 'STATUS'。

语句已终止。

原因:列STATUS已定义为STATUS INT CHECK(STATUS>=10 AND STATUS<=50),取值不能超过50.
三、遇到的问题
四、原因及解决方法。

相关文档
最新文档