数据库上机实验8实验报告
数据库上机实验报告

数据库上机实验报告数据库上机实验网络1002 3100610055一、实验目的1.通过上机操作,加深对数据库理论知识的理解。
2.通过使用具体的微机DBMS(SQL Server),了解一种实际的数据库管理系统,并掌握其操作技术。
3.通过实际题目的上机实验,提高动手能力,提高分析问题和解决问题的能力。
二﹑实验题目某供应商(S)供应(SPJ)某种零件(P)给某个工程项目(J),其中一个供应商可以供给多个项目零件,而每个项目可以使用多个供应商供应的零件,每种零件可由不同供应商供给,S﹑P﹑J﹑SPJ的数据见附表1。
三、实验报告实验报告按照各实验的实验报告内容来整理。
实验报告提交地址:ftp://202.195.168.13/(在“up”文件夹里的“《数据库系统原理A》上机实验”文件夹中找到班级文件夹)用户名:nianyi密码:123456实验报告命名规则:班级+学号+姓名,如“软件080101王鹏晓”。
四、考核上机实验采用书面分析、平时实验和最后抽查考核相结合的方法评定成绩。
实验一数据库的定义和建立一、实验目的要求学生熟练掌握和使用T-SQL﹑SQL Server对象资源管理器创建数据库﹑基本表和修改表结构,及向数据库输入数据的操作,学会创建和使用表的主码、外码和约束。
二、实验内容1﹑利用SQL Server对象资源管理器创建数据库和查看数据库属性;2﹑利用T-SQL创建基本表﹑确定表的主码、外码和相应的约束;3﹑利用SQL Server对象资源管理器创建表之间的关系图;4﹑利用T-SQL向数据库输入数据。
三、注意事项1﹑输入数据时要注意数据类型、主码和数据约束的限制。
2﹑注意数据库的主码﹑外码和数据约束的定义。
3、注意参照表和被参照表之间的关系,主码和外码间的关系。
四、实验报告内容1﹑创建基本表(包括表的主码、外码和相应的约束)的SQL语句;3﹑输入数据的SQL语句。
create table s(sno char(8) primary key,sname char(20) unique,statuss smallint,city char(20));create table p(pno char(8) primary key,pname char(20),color char(8),weightt smallint);create table j(jno char(8) primary key,jname char(20),city char(20));create table spj(sno char(8),pno char(8),jno char(8),qty smallint,primary key(sno,pno,jno),foreign key(sno) references s(sno),foreign key(pno) references p(pno), foreign key(jno) references j(jno));insertinto svalues('s1','精益','20','天津');insertinto svalues('s2','盛锡','10','北京');insertinto svalues('s3','东方红','30','北京'); insertinto svalues('s4','丰泰盛','20','天津'); insertinto svalues('s5','为民','30','上海');select*from s;insertinto pvalues('p1','螺母','红','12');insertinto pvalues('p2','螺栓','绿','17');into pvalues('p3','螺丝刀','蓝','14'); insert into pvalues('p4','螺丝刀','红','14'); insert into pvalues('p5','凸轮','蓝','40'); insert into pvalues('p6','齿轮','红','30'); select* from p;into jvalues('j1','三建','北京'); insert into jvalues('j2','一汽','长春'); insert into jvalues('j3','弹簧厂','天津'); insert into jvalues('j4','造船厂','天津'); insert into jvalues('j5','机车厂','唐山'); insert into jvalues('j6','无线电厂','常州');into jvalues('j7','半导体厂','南京'); select* from j;insertinto spjvalues('s1','p1','j1','200'); insertvalues('s1','p1','j3','100'); insert into spjvalues('s1','p1','j4','700'); insert into spjvalues('s1','p2','j2','100'); insert into spjvalues('s2','p3','j1','400'); insert into spjvalues('s2','p3','j2','200'); insert into spjvalues('s2','p3','j4','500'); insert into spjvalues('s2','p3','j5','400'); insert into spjvalues('s2','p5','j1','400'); insert into spjvalues('s2','p5','j2','100'); insert into spjvalues('s3','p1','j1','200'); insert into spjvalues('s3','p3','j1','200'); insert into spjvalues('s4','p5','j1','100'); insert into spjvalues('s4','p6','j3','300'); insert into spjvalues('s4','p6','j4','200'); insert into spjvalues('s5','p2','j4','100'); insertvalues('s5','p3','j1','200'); insert into spjvalues('s5','p6','j2','200'); insert into spjvalues('s5','p6','j4','500'); select* from spj;2﹑表之间的关系图;4、总结实验过程中遇到的问题及解决。
数据库应用上机实训报告

一、实训背景随着信息技术的飞速发展,数据库技术已经成为现代信息系统的核心组成部分。
为了提高学生的数据库应用能力,我校特开设了数据库应用上机实训课程。
本次实训旨在通过实际操作,使学生掌握数据库的基本原理、设计方法、开发工具以及数据库应用系统的搭建与维护。
二、实训目的1. 掌握数据库的基本概念、原理和设计方法。
2. 熟练运用数据库开发工具进行数据库的创建、维护和管理。
3. 学会使用SQL语言进行数据库的查询、更新、删除和插入操作。
4. 具备搭建数据库应用系统的基本能力。
三、实训内容1. 数据库设计:包括需求分析、概念设计、逻辑设计和物理设计。
2. 数据库开发工具:使用SQL Server Management Studio进行数据库的创建、维护和管理。
3. SQL语言:学习SQL语句的基本语法,掌握查询、更新、删除和插入操作。
4. 数据库应用系统搭建:以实际项目为例,学习数据库应用系统的搭建与维护。
四、实训过程1. 数据库设计(1)需求分析:了解项目背景,明确数据库应用系统的功能需求。
(2)概念设计:根据需求分析结果,设计实体-关系模型。
(3)逻辑设计:将实体-关系模型转换为关系模型,并定义表结构。
(4)物理设计:选择合适的存储引擎和数据类型,设计索引和视图。
2. 数据库开发工具使用SQL Server Management Studio创建数据库,并进行以下操作:(1)创建表:根据逻辑设计结果,创建相应的表。
(2)插入数据:向表中插入测试数据。
(3)查询数据:使用SQL语句查询表中的数据。
(4)更新数据:使用SQL语句更新表中的数据。
(5)删除数据:使用SQL语句删除表中的数据。
3. SQL语言(1)查询语句:掌握SELECT语句的基本语法,包括条件查询、排序查询、分组查询等。
(2)更新语句:掌握INSERT、UPDATE和DELETE语句的基本语法。
(3)子查询:学习使用子查询进行嵌套查询。
4. 数据库应用系统搭建以一个实际项目为例,学习数据库应用系统的搭建与维护:(1)需求分析:明确项目功能需求。
数据库上机实验报告

数据库上机实验报告摘要:本次数据库上机实验主要介绍了SQL语言在数据库中的应用,通过实际操作掌握了SQL语言的基本语法和常用命令,同时实践了数据库的建立、数据表的创建、数据插入、修改、删除、以及查询等操作。
本文将详细介绍实验中所使用的数据结构和算法,以及实验数据和结果的分析与总结。
一、实验目的本次实验的目的是对数据库相关的运用做一次实践操作,包括了数据库的建立、数据表的创建、数据插入、修改、删除、以及查询等操作。
力求将理论知识与实践经验相结合,为今后的数据库实践奠定基础。
二、实验原理本次实验中主要使用的是SQL语言对数据库进行管理。
SQL是一种结构化查询语言,可以对数据库进行查询、操作、管理等。
通过SQL语言对数据库中的数据进行增、删、改、查等操作,可以实现对数据的有效管理。
三、实验步骤1. 建立数据库首先在本地电脑建立数据库,可以通过使用全局管理工具进行实现。
2. 创建数据表在数据库中创建数据表,可以用CREATE TABLE命令来实现。
首先需要指定表的名称,其次需要指定表的字段名及其数据类型。
3. 插入数据表创建好之后,可以向表中插入数据。
可以使用INSERT命令将数据插入到表中,INSERT后面接表名和插入的数据。
4. 数据查询对于已经插入到数据库中的数据,可以进行查询操作。
可以通过SELECT语句对数据库进行查询。
SELECT后面需要指定要查询的字段名或者使用星号表示要查询全部字段。
5. 数据修改在数据库中,数据的修改一般是使用UPDATE命令来实现。
通过UPDATE语句可以修改已经存在的数据信息。
6. 数据删除表中的某个项不再需要时,可以通过DELETE语句来删除数据库中的数据项。
DELETE命令后面跟上要删除的数据。
四、实验结果通过SQL的基本命令,我们在本地电脑中成功的建立起了一个数据库,并把相关的数据插入到该数据库中。
在查询过程中,SQL可以只按照需要查询的数据来进行操作,使得数据的处理过程更加高效。
数据库上机实验报告

数据库上机实验报告数据库上机实验报告引言:数据库是现代信息技术中非常重要的一个组成部分,它可以帮助我们有效地存储、管理和检索大量的数据。
本次上机实验旨在通过实际操作,加深对数据库的理解,并掌握一些基本的数据库操作技巧。
实验环境:本次实验使用的是MySQL数据库管理系统,通过MySQL Workbench进行操作。
数据库中包含了一个学生信息表,其中包括学生的学号、姓名、性别、年龄等信息。
实验内容:1. 创建数据库首先,我们需要创建一个数据库来存储学生信息。
通过在MySQL Workbench中执行CREATE DATABASE语句,我们成功创建了一个名为"student"的数据库。
2. 创建数据表接下来,我们需要在数据库中创建一个数据表来存储学生信息。
通过执行CREATE TABLE语句,我们定义了一个名为"student_info"的数据表,并指定了各个字段的名称和数据类型。
例如,学号字段的数据类型为INT,姓名字段的数据类型为VARCHAR(20)等。
3. 插入数据在数据表创建完成后,我们需要向其中插入一些数据。
通过执行INSERT INTO语句,我们成功插入了几条学生信息记录。
例如,学号为1001的学生姓名为张三,性别为男,年龄为20岁。
4. 查询数据数据库的一个重要功能就是能够快速检索和查询数据。
通过执行SELECT语句,我们可以根据特定的条件来查询数据。
例如,我们可以查询所有性别为女的学生信息,或者查询年龄在18岁以上的学生信息。
5. 更新数据有时候,我们需要修改已有的数据。
通过执行UPDATE语句,我们可以更新数据表中的记录。
例如,我们可以将学号为1001的学生姓名由张三修改为李四。
6. 删除数据如果某条数据不再需要,我们可以通过执行DELETE语句将其从数据表中删除。
例如,我们可以删除学号为1001的学生信息记录。
实验总结:通过本次实验,我对数据库的基本概念和操作有了更深入的理解。
数据库上机实验报告

《数据库技术与应用》上机实验报告姓名:谢优贤学号:020*******专业班级:安全工程1003班通过这次上机实验,我做了学生信息管理系统数据库,通过创建表、查询、窗体、报表和宏对输入数据库中的学生的基本信息进行整理和操作,以便得到我们想要的信息。
学生信息管理系统可以实现对学生的基本信息:学号、姓名、联系方式、性别、成绩等的查询,还有对教师的情况进行比较了解从而可以帮助学生更好地选课和学习,省去了纸质档案管理不方便的方面。
通过窗体的创建和美化,使我们在操作数据时有一个简洁明了美观的窗口,简化了用户的操作程序,方便用户的使用。
报表的创建可以使用户想要的数据很好地呈现在纸上。
使用宏命令还使数据库有了设置密码的功能,很好的保护了数据的使用权限;也可以使用宏命令打开我们希望打开的窗口。
一、主要上机内容1. 数据库的创建:我使用自行创建数据库的方式进行创建,数据库文件名为学生信息管理系统。
数据库要实现的主要功能:学生基本信息及学习成绩情况的统计,通过窗体进行学生信息的查询、学生信息及成绩的普通查询、打印学生信息报表等。
2. 表的创建:基本表为学生信息表、学生成绩表、教师信息表、课程信息表等均使用设计器创建表学生信息表的记录:学生信息表结构:在学生信息表中设置了学号为主键,为了方便输入又在学号字段中设置了掩码(如下图)学生年龄一般不会太大或太小,于是为了防止填写信息时出错,添加了有效性规则性别只有男和女之分,于是为了方便,选择了查询向导同样在入学日期和电话字段也设置了输入掩码头像属于图片类型,其数据类型为“OLE对象”,所得荣誉和自我介绍选择了“备注”类型。
学生成绩表记录和结构:教师信息表记录和结构:课程信息表:建立表间关系:3. 查询的创建:创建查询从学生信息表中查找数据,使用查询设计器创建,保存为“学生信息组合模糊查询”。
功能是通过学生的性别和姓名快速查找学生信息。
查询结果以表格的形式输出。
4. 窗体的创建:使用“在设计视图中创建窗体”创建“学生信息管理系统窗体”:同理,依次创建“户籍调查窗体”“教师信息窗体”“课程信息窗体”“学生成绩窗体”“学生课程窗体”“学生信息查询窗体”“学生信息管理系统登录窗口窗体”。
数据库上机实验报告

数据库上机实验报告数据库上机实验报告试验内容1、数据表的建立基本表《简单的》带有主键带有外码约束的(外码来自其他表或者本表)2、数据表的修改添加删除列修改列属性类型添加删除约束(约束名)元组的添加,修改,删除删除数据表试验过程1、create table student(sno char(9) primary key , /*sn o是主码列级完整性约束条件*/sname char(20) unique, /*sname 取唯一值*/ssex char(2),sage smallint, /*类型为smallint*/sdept char(20)/*所在系*/);create table course(cno char(4) primary key, /*列级完整性约束条件,cno是主码*/cname char(40),cpno char(4),/*cpno的含义是先行课*/ccredit smallint,foreign key (cpno) references course(cno)/*表级完整性约束条件,cpno是外码,被参照表是course,被参照列是cno*/);create table sc(sno char(9),cno char(4),grade smallint,primary key (sno,cno),/*主码有两个属性构成,必须作为表级完整性进行定义*/foreign key (sno) references student(sno),/*表级完整性约束条件,sno是外码,被参照表是student*/foreign key (cno) references course(cno),/*表级完整性约束条件,cno是外码,被参照表示course*/);例1、create table s(cno varchar(3), /*变长的字符串,输入2个字符就是两个字符不会补空格*/sname varchar(20),status int,city varchar(20),constraint pk_sno primary key(sno), /*约束条件的名字为pk_sno*/);create table p(pno varchar(3),pname varchar(20),color varchar(3),weight int,constraint pk_pno primary key (pno), /*约束条件的名字是pk_pno*/);create table j(jno varchar(3),jname varchar(20),city varchar(20),constraint pk_jno primary key(jno) /*约束条件的名字为pk_jno*/);例2、create table spj(sno varchar(3), /*第一个表中的主码*/pno varchar(3),jno varchar(3),qty int, /*数量*/constraint pk_spj primary key(sno,pno,jno), /*主码由3个属性组成*/foreign key(sno) references s(sno),/*表级完整性约束条件,sno是外码,被参照表是s*/foreign key(pno) references p(pno),/*表级完整性约束条件,pno是外码,被参照表是p*/foreign key(jno) references j(jno),/*表级完整性约束条件,jno是外码,被参照表是j*/);2、数据表的更改在s表中添加一个concat 列alter table s add concat varchar(20)在s表中删除concat 列alter table s drop column concat更改s表concat列的属性把长度由20改为30alter table s alter column concat varchar(30)联系方式名字为concat 修改属性为唯一的属性名为con_concatalter table s add constraint con_concat uniqu e(concat)删除约束关系con_concatalter table s drop constraint con_concat/*插入一个元组*/insert into s valus(‘s1’,’精益’,20,’天津’) /*20不能写成’20’*/试验中的问题的排除与总结:1、在创建spj时有三个实体所以从3个实体中取主码,还有一个数量属性也要写上主码由那3个主码确定2、更改一个数据库中数据表时一定要先使该数据库处于正在使用状态3、constraint是可选关键字,表示primary key、not null、unique、foreign key 或check 约束定义的开始。
数据库上机实验报告

数据库上机报告(一)上机实验项目名称:库以及表的基本操作学号:项目学时:姓名:班级:目录一、实验目的二、实验内容三、设计步骤以及实验结果四、实验总结一、实验目的(1)熟悉SQL Sever数据库组成(2)了解如何创建、导入以及删除数据库(3)熟悉表的创建与管理二、实验内容:(1)数据库由包含数据的基本表和其他对象(视图、索引、存储过程和触发器)组成。
系统数据库包括master数据库(记录所有其他的数据库以及相关信息)tempdb数据库(保存所有的临时表和临时存储过程)msdb数据库。
(2)建立所需要的数据库(3)建立学生表课程表以及选课表三、设计步骤以及实验结果(3.2.1)新建数据库操作:打开SQL Sever软件点开资源管理器下数据库标志左侧的加号,在下拉菜单中右键点击,(见右上图)之后点击新建数据库之后在弹出的对话框中数据库名称一栏输入你所要的数据库名称;单击确定,建立数据库完成。
(3.2.2)导入数据库一种方法是将数据库的两个源文件放在数据库存放源文件的文件夹里,之后在数据库上右击点击附加,在弹出的窗口选择添加,会弹出另一个窗口选择你要附加的数据库的源文件将其导入进来。
第二种方法是新建一个数据库,名字最好与你即将要导入进来的数据库名称一致,在所建立好的数据库上单击右键选择任务--还原--数据库,选择设备选项,接着将要导入的源文件都添加进来点击确定(3.2.3)删除数据库首先需要在你所要删除的数据库上单击右键选择任务--分离,之后要在存放数据库源文件的根目录下将有关其数据库的内容删除掉(根目录具体位置见上图)。
(3.3)创建学生表,课程表以及选课表并且对其进行适当的约束(3.3.1)创建学生表展开已经创建好的数据库student,在【表】上单击右键,选择【新建表】在前5列设计写入列名为Sno,Sname,Ssex,Sage,Sdept数据类型分别为nchar(10) ,varchar(50) ,nchar(2),int,nchar(10),其中后四项可以为null值,且将学生号Sno设为主键。
数据库上机实验报告

数据库上机实验报告引言:数据库是一种用于存储和管理数据的工具,它在现代社会中的重要性无可忽视。
本次实验旨在通过实际上机操作,加深对数据库的理解,并熟悉其相关操作和功能。
一、实验背景在信息时代的大背景下,各种类型的数据呈现指数级增长。
为了有效地存储和管理这些数据,数据库被广泛采用。
数据库管理系统(DBMS)是一套软件工具,用于定义、创建、管理和检索数据库。
本次实验将使用一款流行的开源DBMS工具MySQL。
二、实验目的1. 了解数据库的基本概念和原理;2. 掌握数据库的基本操作;3. 理解并应用SQL语言;4. 通过实际操作,熟悉数据库的增删改查功能。
三、实验过程1. 数据库的创建与连接首先,在MySQL中创建一个新的数据库,并通过合适的用户名和密码连接到该数据库。
数据库连接作为与数据库通信的接口,是进行各种操作的基础。
2. 数据表的创建与设置创建数据表是数据库设计的核心部分。
在实验过程中,我们选择创建一个学生信息表格。
通过指定各个字段的数据类型、长度以及约束,定义了学生信息表的结构。
3. 数据的插入与查询在学生信息表中插入若干条测试数据,包括学生姓名、年龄、性别、学号等信息。
通过SQL语句,我们可以灵活地插入、查询和过滤数据。
例如,查询年龄大于20岁的学生或者查询特定学号的学生等。
4. 数据的更新与删除数据库的更新和删除操作是不可或缺的。
我们可以通过SQL语句,修改特定记录的字段值,或者删除某些记录,以实现数据的动态维护和管理。
四、实验结果与分析通过实验操作,我们成功创建了学生信息表格,并插入了若干测试数据。
在查询功能上,我们能够根据不同的条件,按照要求查询指定的学生信息。
此外,我们还尝试了数据的更新和删除操作,成功地修改了一部分学生的年龄和性别,并删除了一些无效的记录。
五、实验总结通过本次数据库上机实验,我对数据库的基本概念、原理和操作有了更深入的了解。
在实践中,我能熟练地使用创建数据库、创建数据表、插入数据、查询数据以及修改和删除数据等功能。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
上机实验八——完整性约束的实现
一、实习目的:
掌握SQL中实现数据完整性的方法,加深理解关系数据模型的三类完整性约束。
二、实习准备:
1.复习“完整性约束SQL定义”
2.完成习题四第10题中的各项操作的SQL语句。
3.了解SQL Server 中实体完整性、参照完整性和用户自定义完整性的实现手段
三、实习内容:
1.验证习题四第10题四个表结构的SQL语句。
表一:Sstudent
CREATE TABLE Sstudent
(Sno char(7) NOT NULL PRIMARY KEY,
Sname VarChar(20) NOT NULL,
Ssex Char(2) NOT NULL DEFAULT('男') check(Ssex IN('男','女')),
Sage smallint check(Sage >14 AND Sage<65),
Clno Char(5) NOT NULL REFERENCES Cclass(Clno)
ON UPDATE CASCADE);
表二:Ccourse
CREATE TABLE Ccourse
(Cno Char(1) NOT NULL PRIMARY KEY,
Cname VarChar(20) NOT NULL,
Credit Smallint CHECK(Credit IN(1,2,3,4,5,6)));
表三:Cclass
CREATE TABLE Cclass
(Clno Char(5) NOT NULL PRIMARY KEY,
Speciality VarChar(20) NOT NULL,
Inyear Char(4) NOT NULL,
Number Integer CHECK(Number>1 AND Number<100),
Mointor Char(7) REFERENCES Student(Sno) );
表四:Ggrade
CREATE TABLE Ggrade
(Sno Char(7) NOT NULL
REFERENCES Student(Sno)
ON DELETE CASCADE
ON UPDATE CASCADE,
Cno Char(1) NOT NULL
REFERENCES Course(Cno)
ON DELETE CASCADE
ON UPDATE CASCADE,
Gmark Numeric(4,1) CHECK(Gmark>0 AND Gmark<100),
PRIMARY KEY(Sno,Cno));
2. SQL Server中提供了那些方法实现实体完整性、参照完整体和用户自定义完整性
答:实体完整性:是通过主码的定义(PRIMARY KEY)来实现的;
参照完整性:是利用外部码(REFERENCES)的说明,以限制相关表中某些属性的取值,当用户违反规则时,提供三种:RESTRICT(限制策略),CASCADE(级联策略),SET NULL(置空策略);
用户自定义完整性:check约束,对元组的CHECK约束。