实验一:数据定义及更新语句练习
数据库SQL实验题目(14-15-1)

实验一数据定义操作●实验目的1.掌握数据库和表的基础知识2.掌握使用创建数据库和表的方法3.掌握数据库和表的修改、查看、删除等基本操作方法●实验内容和要求一、数据库的创建在开始菜单中,启动SQl Server 程序中的“SQL Server Management Studio”,在对象资源管理器窗口中,右键单击“数据库”,选择“新建数据库”,创建成绩管理数据库Grademanager,要求如下表所示:Grademanager数据库参数表二、表的创建、查看、修改和删除1.表的创建在Grademanager数据库中,右键单击“表”,选择“新建表”命令,创建如下表所示的表:(1)Student表的表结构特别注意:为属性Ssex设置约束,需选中属性Ssex行,然后单击菜单中的“表设计器”,选择“CHECK 约束”命令,然后按照图1进行设置。
图1 设置性别的约束(2)Course表(课程名称表)的表结构(3)SC表(成绩表)的表结构特别注意:①为属性Degree 约束,可参照属性Ssex进行设置,“CHECK约束对话框”中的表达式为Degree>=1 And Degree<=100②为SC表设置外键Sno和Cno的方法:右键单击表SC,选择“设计”命令,然后选择菜单“表设计器”中的“关系”命令,打开“外键关系”窗口,选择“添加”按钮,然后单击“表和列规范”后的按钮,按照图2进行设置,即可将SC表中的Cno属性设置为外键。
按照相同的方法,将属性Sno也设置为外键。
图2为SC表设置外键Cno2.向上述表中输入如下数据记录学生关系表Student (右键单击表Student ,选择“编辑前200行”)课程关系表Course 成绩表SC3.修改表结构(找到操作的方法即可,不需要真正地修改表中的属性) (1)向student 表中增加“入学时间”列,其数据类型为日期型 (2)将student表中的sdept 字段长度改为20 (3)将student 表中的Speciality 字段删除思考题1. SQL Server 的数据库文件有几种?扩展名分别是什么? 2. 如何实现数据库的备份和还原?2.在定义基本表语句时,NOT NULL 参数的作用是什么? 3.主码可以建立在“值可以为NULL ”的列上吗?实验二 简单查询● 实验目的1. 掌握SELECT 语句的基本用法2. 使用WHERE 子句进行有条件的查询3. 掌握使用IN 和NOT IN ,BETWEEN …AND 和NOT BETWEEN …AND 来缩小查询范围的方法4. 掌握聚集函数的使用方法5. 利用LIKE 子句实现字符串匹配查询6. 利用ORDER BY 子句对查询结果排序7. 利用GROUP BY 子句对查询结果分组● 实验内容和要求一、表结构修改1.在实验一的所建立的数据库中增加Teacher 表,结构如下:2.在实验一的所建立的数据库中增加Teaching 表,表结构如下: Teaching 表(授课表)的表结构3.向上述两表中输入如下数据记录教师表Teacher 授课表Teaching二、完成下面查询 1.查询所有男生信息2.查询年龄大于24岁的女生学号和姓名3.查询所有教师的Tname、Tdept4.查询“电子商务”专业的学生姓名、性别和出生日期5.查询成绩低于90分的学生学号及课号,并按成绩降序排列6.查询Student表中所有的系名7.查询“C01”课程的开课学期8.查询成绩在80分至90之间的学生学号及课号9.统计有学生选修的课程门数10.查询成绩为77,88或99的记录11.计算“C02”课程的平均成绩12.输出有成绩的学生学号13.查询所有姓“刘”的学生信息14.统计输出各系学生的人数15.查询选修了“C03”课程和学生的学号及其成绩,查询结果按分数的降序排列16.查询各个课程号及相应的选课人数,并为选课人数取别名为“人数”17.统计每门课程的选课人数和最高分,并为选课人数和最高分分别取别名为“人数”、“最高分”18.统计每个学生的选课门数和考试总成绩,并为选课门数和总成绩分别取别名为“门数”、“总成绩”,并按选课门数降序排列。
《数据库系统原理及应用》实验报告 实验一 数据库定义

《数据库系统原理及应用》实验报告实验一数据库定义数据库系统原理及应用实验一数据库定义在《数据库系统原理及应用》课程中,实验一是关于数据库定义的实验。
本次实验的主要目的是通过实践操作,掌握数据库的定义过程,了解数据库的基本概念和术语,并学习使用SQL语言创建数据库表格和定义表格的各项属性。
1. 数据库的定义意义数据库是指存储数据的集合,它是一个有组织的数据集合,可以提供查询、存储和管理数据的功能。
数据库的定义是建立数据库的结构和特性,包括数据表的定义、数据类型的定义以及数据表之间的关系定义。
数据库的定义可以规范化和统一数据存储结构,提高数据的存储效率和管理方便性。
2. 数据库的基本概念和术语在数据库的定义过程中,需要了解一些基本概念和术语:(1) 数据表:数据表是数据库的一个基本单位,它由多个数据行和数据列组成,用于存储和表示数据。
(2) 数据类型:数据类型定义了数据的存储格式和表达方式,常见的数据类型有整数、浮点数、字符型、布尔型等。
(3) 主键:主键是数据表中的一列或者一组列,其值用来唯一标识数据表中的每一行,主键的值不能重复。
(4) 外键:外键是数据表之间的关系表达,它是一个指向其他数据表主键的列,用于建立数据表之间的联系。
(5) 索引:索引是一种提高数据检索效率的数据结构,它可以加快数据的查询速度。
3. 使用SQL语言创建数据库表格在实验过程中,我们将使用SQL语言来创建数据库表格。
SQL(Structured Query Language)是结构化查询语言的缩写,是一种用于操作和管理数据库的标准语言。
SQL语言的创建表格语句包括以下几个关键字和语法:(1) CREATE TABLE:用于创建数据库表格。
(2) 表名:指定创建的表格的名称。
(3) 列名和数据类型:指定表格中的各列名称和数据类型。
(4) 主键:指定表格中的主键。
(5) 外键:指定表格中的外键。
4. 定义表格的各项属性在使用SQL语言创建数据库表格时,我们需要定义表格的各项属性,包括表格的名称、列名、数据类型、主键和外键。
《数据库概论》实验指导书(2009级)

《数据库系统概论》实验报告书专业班级学号姓名指导教师安徽工业大学计算机学院实验一:数据定义/数据操纵语言[ 实验日期 ] 年月日[ 实验目的 ]熟悉SQL SERVER上机环境;熟练掌握和使用DDL语言,建立、修改和删除数据库表、主键、外键约束关系和索引;熟练掌握和使用DML语言,对数据进行增加、修改和删除操作。
[ 实验内容 ]0.先建立数据库:STUDENT用两种方式建立:在查询分析器中以DDL语言方式建立.步骤为:先在指定的地方建立放置数据库文件的文件夹(如学生数据库),然后将建立的数据库文件放到指定的文件夹中.1.SQL数据定义语句:例1-1: (建立数据库表) 建立教学数据库的四个数据库表,其中Student表中不包含SSEX(C,2) 字段,Sname 字段为Sname(C,8)且可为空。
例1-2: (修改数据库表) 在Student表中增加SSEX(C,2) 字段。
例1-3: (修改数据库表) 将Student表中把Sname 字段修改为Sname(C,10)且为非空。
例1-4: (建立数据库表) 建立数据库表S1(SNO,SNAME,SD,SA),其字段类型定义与Student表中的相应字段(SNO,SNAME,SDEPT,SAGE)的数据类型定义相同。
2. SQL数据操纵语句:例2-1: (插入数据) 按前面各表中的数据分别插入到教学数据库的四个数据库表中。
例2-2:(多行插入) 将表Student表中计算机系(‘CS’)的学生数据插入到表S1中。
例2-3:(利用查询来实现表的定义与数据插入) 求每一个学生的平均成绩,把结果存入数据库表Student_Gr中。
例2-4: (修改数据) 将S1表中所有学生的年龄加2。
例2-5: (修改数据) 将Course表中‘程序设计’课时数修改成与‘数据结构’的课时数相同。
例2-6: (插入数据) 向Score表中插入数据(‘98001’, ‘001’, 95),根据返回信息解释其原因。
数据库实验数据定义答案

实验二数据定义一、实验目的1、掌握使用SQL语句创建和删除数据库;2、掌握使用SQL语句创建和删除数据表,创建各种完整性约束,修改表的结构;3、掌握索引的创建和删除方法。
二、实验内容(一)数据库的建立使用CREATE DATABASE语句创建名为“gongcheng”的数据库。
(二)数据表操作1.建立数据表create table s(SNO nchar(20)primary key,SNAME nchar(20)unique,CITY nchar(20),);create table P(PNO nchar(20)primary key,PNAME nchar(20),COLOR nchar(20),WEIGHT nchar(20)check(weight>=0 and weight<=50),);create table J(JNO nchar(20)primary key,JNAME nchar(20)not null unique,CITY nchar(20),);create table SPJ(SNO nchar(20),PNO nchar(20),JNO nchar(20),QTY int,primary key (SNO,PNO,JNO),foreign key (SNO)references S(SNO),foreign key (PNO)references P(PNO),foreign key (JNO)references J(JNO),);在创建的“gongcheng”数据库中使用SQL语句建立4个关系,如下:供应商表S (Sno,Sname,City)零件表P(Pno,Pname,Color,Weight)工程项目表J(Jno,Jname,City)供应情况表SPJ(Sno,Pno,Jno,QTY)其中:供应商表S由供应商代码(SNO)、供应商姓名(SNAME)、供应商所在城市(CITY)组成;零件表P由零件代码(PNO)、零件名(PNAME)、颜色(COLOR)、重量(WEIGHT)组成;工程项目表J由工程项目代码(JNO)、工程项目名(JNAME)、工程项目所在城市(CITY)组成;供应情况表SPJ由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量组成(QTY),表示某供应商供应某种零件给某工程项目的数量为QTY。
数据库实验---SQL 数据更新语句

实验SQL 数据更新语句一、实验目的本次实验了解SQL Server 2005 的启动,熟悉如何使用SSMS 和SQL 建立数据库和表,并加深对于完整性的理解。
...二、背景知识在使用数据库的过程中,接触最多的就是数据库中的表。
表是数据存储的地方,是数据库中最重要的部分,管理好表也就管理好了数据库。
表是由行和列组成的。
创建表的过程主要就是定义表的列的过程。
表的列名在同一个表中具有唯一性,同一列的数据属于同一种数据类型。
除了用列名和数据类型来指定列的属性外,还可以定义其它属性:是否为空、默认值、标识符列、全局唯一标识符列等。
约束是SQL Server 提供的自动保持数据库完整性的一种方法,定义了可输入表或表的单个列中的数据的限制条件。
在SQL Server 中有5 种约束:主关键字约束(Primary Key Constraint)、外关键字约束(Foreign Key Constraint)、惟一性约束(Unique Constraint)、检查约束(Check Constraint)和默认约束(Default Constraint)。
...三、实验目的加深对SQL 数据更新(插入、修改及删除)语句的基本语法格式的掌握掌握单个元组及多个元组的插入、修改及删除操作的实现过程加深对更新操作时数据库中数据一致性问题的了解加深对约束条件在数据更新操作执行中的作用问题的了解。
四、实验报告要求1、写出与上述任务相对应的SQL 更新语句(实验报告上写出3、5、10 的SQL 语句)2、并记录在实验过程中遇到的问题、解决办法及心得体会。
五、实验内容方法一:在SSMS 中插入、删除及修改数据,方法二:在查询编辑器中写SQL 插入、删除及修改数据设有一个SPJ 数据库,包括S,P,J,SPJ 四个关系模式:S(SNO,SNAME,STATUS,CITY)P(PNO,PNAME,COLOR,WEIGHT)J(JNO,JNAME,CITY)SPJ(SNO,PNO,JNO,QTY)供应商表S 由供应商代码(SNO)、供应商姓名(SNAME)、供应商(STATUS)、供应商所在城市(CITY)组成;零件表P 由零件代码(PNO)、零件名(PNAME)、颜色(COLOR)、重量(WEIGHT)组成;工程项目表J 由工程项目代码(JNO)、工程项目名(JNAME)、工程项目所在城市(CITY)组成;供应情况表SPJ 由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量(QTY)组成,表示某供应商供应某种零件给某工程项目的数量为QTY。
数据的定义与更新实验总结

数据的定义与更新实验总结1.引言数据是指描述现象、事物或概念的符号化表达,是信息的基本单位。
在信息时代,数据的定义和更新是数据管理中常见的问题,对于数据的合理定义和及时更新具有重要意义。
本文将从数据定义和数据更新两个方面进行实验总结,探讨数据管理中的相关方法和技巧。
2.数据定义数据定义是指对数据的结构、类型和含义进行规定和描述的过程。
在数据管理中,合理的数据定义能够提高数据的可理解性、可维护性和可扩展性。
以下是数据定义实验总结的要点:2.1数据结构数据结构是指数据之间的关系和组织方式。
在实验中,我们通过定义数据结构来描述数据的层次关系和组织结构。
合理的数据结构可以提高数据的访问效率和操作效果。
2.2数据类型数据类型是指数据的种类和属性。
在实验中,我们通过定义数据类型来规定数据的取值范围和可操作性。
正确选择和使用数据类型可以提高数据的有效性和安全性。
2.3数据含义数据含义是指数据所代表的信息和概念。
在实验中,我们通过定义数据含义来确保数据的准确性和一致性。
清晰地定义数据含义可以避免数据误解和混淆。
3.数据更新数据更新是指对数据进行修改、插入和删除等操作的过程。
在数据管理中,及时的数据更新是确保数据的实时性和有效性的关键。
以下是数据更新实验总结的要点:3.1数据修改数据修改是指对已有数据进行更新和改变的操作。
在实验中,我们通过数据修改来纠正错误、更正信息或改进数据。
正确地进行数据修改可以保证数据的准确性和可靠性。
3.2数据插入数据插入是指向数据库中添加新的数据记录的操作。
在实验中,我们通过数据插入来增加新的信息或扩展数据集。
合理地进行数据插入可以保持数据的完整性和一致性。
3.3数据删除数据删除是指从数据库中永久删除数据记录的操作。
在实验中,我们通过数据删除来清理无效或过时的数据。
准确地进行数据删除可以节约存储空间和提高数据检索效率。
4.实验总结数据的定义和更新是数据管理中的重要环节,合理地进行数据定义和及时地进行数据更新对于数据管理的有效性和可靠性具有重要意义。
数据定义及更新语句练习

实验一数据定义及更新语句练习实验内容❶用SQL语句建立mySPJ数据库,包括S,P,J,和SPJ四个基本表(参见实验指导书),要求实现关系的三类完整性❷分别使用插入、删除、修改语句更新基本表中的数据实验方法和步骤❶建立数据库mySPJ☞打开“开始->程序->Microsoft SQL Server->企业管理器”☞在企业管理器左边的树标签中依次打开“Microsoft SQL Server-> SQL Server组->(local)(Windows NT)->数据库”,(local)(Windows NT)前的红色标记转化为绿色标记表明SQL Server服务已启动☞从企业管理器的“工具”菜单中选择“SQL 查询分析器”,在其窗口书写创建数据库mySPJ的语句,点击执行按钮(或F5键)执行该SQL语句☞在企业管理器左边的树标签中查看数据库是否建立成功☞注意可以直接在企业管理器中创建数据库❷在mySPJ中建立S,P,J和SPJ四个基本表☞在查询分析器中使用CREATE TABLE语句建立各表,注意设置主键外键约束☞注意主键外键约束的建立有两种方法可以通过SQL语句建立也可以在企业管理器中设置比较两种用法❸更新语句的使用☞使用Insert 语句将习题中给出的示例记录插入各表☞使用Update语句更新表中的记录将p表中的所有红色零件的重量增加5将spj表中所有天津供应商的QTY属性值减少10☞使用Delete语句删除p表中的所有红色零件的记录☞SQL语句执行后返回基本表查看更新后的结果,若与期望不符,分析原因并记录在实验报告中重点难点❒重点☞CREATE TABLE 语句以及INSERT、UPDATE、DELETE语句的使用☞表中各字段数据类型和长度的选择☞三类完整性的设置用SQL语句如何实现❒难点☞关于外键及如何保证参照完整性的理解☞违反各类完整性时系统如何处理☞级联更新和级联删除的使用注意事项❒注意在企业管理器中可以直接创建数据库、表,插入、删除、修改记录以及设置主键外键约束❒本实验的目的是掌握数据定义及更新语句,故要求在查询分析器中通过SQL语句实现实验内容实验二简单查询和连接查询实验内容❒完成下面的简单查询①查询所有“天津”的供应商明细;②查询所有“红色”的14公斤以上的零件。
数据库原理实验答案

3)向SC表中插入数据
Insert Into SC(Sno,Cno, Grade) Values(200215121,1,92);
Insert Into SC(Sno,Cno, Grade) Values(200215121,2,85);
Insert Into SC(Sno,Cno, Grade) Values(200215121,3,88);
Insert Into SC(Sno,Cno, Grade) Values(200215122,2,90);
Insert Into SC(Sno,Cno, Grade) Values(200215122,3,80);
Insert Into SC(Sno,Cno, Grade) Values(200215121,4,92);
Insert Into SC(Sno,Cno, Grade) Values(200215121,5,85);
Insert Into SC(Sno,Cno, Grade) Values(200215121,6,88);
Insert Into SC(Sno,Cno, Grade) Values(200215123,2,90);
select sno,grade from sc where cno='3' order by grade desc;
8)查询各个课程号与相应的选课人数。
select cno, count(sno) from sc group by cno;
2. 连接查询操作。该实验包括等值连接、自然连接、求笛卡儿积、一般连接、外连接、内连接、左连接、右连接和自连接等。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一:数据定义及更新语句练习一、实验目的:熟练掌握用SQL语句实现数据库和基本表的创建、数据的更新。
二、实验内容:(一)用SQL语句建立如下mySPJ数据库,包括S,P,J,和SPJ四个基本表(教材第二章习题5中的四个表),要求实现关系的三类完整性。
S(SNO,SNAME,STA TUS,CITY);P(PNO,PNAME,COLOR,WEIGHT);J(JNO,JNAME,CITY);SPJ(SNO,PNO,JNO,QTY)供应商表S由供应商代码(SNO)、供应商姓名(SNAME)、供应商状态(STATUS)、供应商所在城市(CITY)组成。
零件表P由零件代码(PNO)、零件名(PNAME)、颜色(COLOR)、重量(WEIGHT)组成。
工程项目表J由工程项目代码(JNO)、工程项目名(JNAME)、工程项目所在城市(CITY)组成。
供应情况表SPJ由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量(QTY)组成,表示某供应商供应某种零件给某工程项目的数量为QTY。
(二)分别使用插入、删除、修改的方式更新基本表中的数据。
三、完成情况create table s(sno char(9)primary key, //主键约束sname char(20)unique, //唯一值status smallint,city char(20),);create table p(pno char(9)primary key, //主键约束pname char(20),color char(9),weight smallint,);create table j(jno char(9)primary key, //主键约束jname char(20)unique, //唯一值city char(20),);create table spj(sno char(9),pno char(9),jno char(9),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), //外键约束);四、实验结果1、利用Insert 语句将习题中给出的示例记录插入各表insertinto s(sno,sname,status,city)values ('s1','精益',20,'天津')insertinto svalues ('s2','盛锡',10,'北京')insertinto svalues ('s3','东方红',30,'北京')insertinto svalues ('s4','丰泰盛',20,'天津')insertinto svalues ('s5','为民',30,'上海')select*from sinsertinto pvalues ('p1','螺母','红',12) insertinto pvalues ('p2','螺栓','绿',17) insertinto pvalues ('p3','螺丝刀','蓝',14) insertinto pvalues ('p4','螺丝刀','红',14) insertinto pvalues ('p5','凸轮','蓝',40) insertinto pvalues ('p6','齿轮','红',30)select*from pinsertinto jvalues ('j1','三建','北京') insertinto jvalues ('j2','一汽','长春') insertinto jinsertinto jvalues ('j4','造船厂','天津') insertinto jvalues ('j5','机车厂','唐山') insertinto jvalues ('j6','无线电厂','常州') insertinto jvalues ('j7','半导体厂','南京')select*from jinsertinto spjvalues ('s1','p1','j1',200) insertinto spjvalues ('s1','p1','j3',100) insertinto spjvalues ('s1','p1','j4',700) insertinto spjvalues ('s1','p2','j2',100) insertinto spjvalues ('s2','p3','j1',400) insertinto spjvalues ('s2','p3','j2',200) insertinto spjinsertinto spjvalues ('s2','p3','j5',400) insertinto spjvalues ('s2','p5','j1',400) insertinto spjvalues ('s2','p5','j2',100) insertinto spjvalues ('s3','p1','j1',200) insertinto spjvalues ('s3','p3','j1',200) insertinto spjvalues ('s4','p5','j1',100) insertinto spjvalues ('s4','p6','j3',300) insertinto spjvalues ('s4','p6','j4',200) insertinto spjvalues ('s5','p2','j4',100) insertinto spjvalues ('s5','p3','j1',200) insertinto spjvalues ('s5','p6','j2',200) insertinto spjvalues ('s5','p6','j4',500)select*from spj2.利用Update更新表中的记录:①将p表中的所有红色零件的重量增加5。
update pset weight=weight-5where color='红'②将spj表中所有天津供应商的QTY属性值减少10。
用子查询。
update spjset QTY=QTY-10where sno in(select snofrom swhere city='天津')3.利用Delete语句删除p表中的所有红色零件的记录。
deletefrom pwhere color='红'DELETE 语句与REFERENCE 约束"FK__spj__pno__4F7CD00D"冲突。
该冲突发生于数据库"myspj",表"dbo.spj", column 'pno'。
语句已终止。
(p.pno作为spj.pno的外键,两张表有关系)五、问题及解决1、数据库如何保存?本以为要用一次输入一次,后来通过老师讲解知道可以分离数据库(只保留.mdf 文件就行了,到用时在附加数据库),还可以备份数据库。
2、输入表是出错?有时候建基本表时容易输错,再往下就不然输入了,只能把整个表删了重建了。
六、思考题:(一)在为各表设定关键字时弹出的页面中有关键字和索引选项,试通过给基本表设定这两个项目并说明二者的区别。
索引可以加快表的查询速度,经常用来查询的一个或者几个字段设置为索引。
(二)在基本表中输入数据时,注意数据与字段的数据类型和长度以及能否为空的属性是否一致,保存时如有错误分析错误原因,及时改正并将错误报告写在实验报告中。
在基本表中输入数据时,不为空的地方不可以输入空值,否则将无法继续输入。
七、实验总结:感觉数据库还是比较好学的(相对编程来说),但是间数据库的时候容易出错,工作比较繁琐,稍不小心,不管通过代码添加还是手工输入都很可能稍输或输错。
最后还需要仔细检查才行,语句方面还都是一些简单的语句,可以完成。