实验一:数据定义及更新语句练习

合集下载

数据库SQL实验题目(14-15-1)

数据库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级)

《数据库概论》实验指导书(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 数据更新语句一、实验目的本次实验了解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公斤以上的零件。

数据库原理实验答案

数据库原理实验答案
Values(7,'PASCAL语言',6,4);
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.1 数据定义一、实验目的熟悉SQL的数据定义语言,能够熟练的使用SOL语句来创建和更改基本表,创建和取消索引。

二、实验内容本实验的主要内容包括:使用CREATE语句创建基本表。

更改基本表的定义,增加列,删除列,修改列的数据类型。

创建表的升降序索引、取消表、表的索引或表的约束。

三、习题(1)AGENTS(AID,ANAME,ITY,PERCEN).数据库表PRODUCTS(PID,PNAME)。

其中,CID,AID,PID分别是各表的主键,具有唯一性约束。

创建CUSTOMERS表:CREATE TABLE CUSTOMERS(CID INT NOT NULL,CNAME CHAR(8),CITY CHAR(8),DISCNT CHAR(8),PRIMARY KEY(CID))创建AGENTS表:CREATE TABLE AGENTS(AID INT NOT NULL,ANAME CHAR(8),CITY CHAR(8),PERCEN CHAR(8),PRIMARY KEY(AID))创建PRODUCTS表:CREATE TABLE PRODUCTS(PID INT NOT NULL,ANAME CHAR(8),PRIMARY KEY(PID))(2).创建数据库表ORDERS(ORDNA,MANTH,CID,AID,PID,QTY,DOLLARS).其中,ORDNA是主键,具有唯一性约束。

CID,AID,PID分别是外键引用自表CUSTOMERS,AGENTS,PRODUCTS.CREATE TABLE ORDERS(ORDNA INT NOT NULL,MONTH INT,CID INT,AID INT,PID INT,QTY CHAR(8),DOLLARS CHAR(8),PRIMARY KEY(ORDNA),FOREIGN KEY(CID)REFERENCES CUSTOMERS,FOREIGN KEY(AID)REFERENCES AGENTS,FOREIGN KEY(PID)REFERENCES PRODUCTS)(3).增加数据库表PRODUCTS三个属性列:CITY,QUANTITY,PRICE.ALTER TABLE PRODUCTS ADD CITY CHAR(8)ALTER TABLE PRODUCTS ADD QUANTITY CHAR(8)ALTER TABLE PRODUCTS ADD PRICE CHAR(8)(4).为以上四个表建立各自的按组建增序排列的索引CREATE INDEX XCNO ON CUSTOMERS(CID)CREATE INDEX XCNO ON AGENTS(AID)CREATE INDEX XCNO ON PRODUCTS(PID)CREATE INDEX XCNO ON ORDERS(ORDNA)(5) 取消(4)建立的四个索引DROP INDEX AGENTS.XCNODROP INDEX CUSTOMERS.XCNODROP INDEX PRODUCTS.XCNODROP INDEX ORDERS.XCNO实验1.2 数据查询一、实验目的:熟悉SQL语句的数据查询语言,能够使用SQL语句对数据库进行单表查询、链接查询、嵌套查询和统计查询。

数据库SQL实验题目

数据库SQL实验题目

实验(shíyàn)一数据定义(dìngyì)操作●实验(shíyàn)目的1.掌握(zhǎngwò)数据库和表的基础知识2.掌握使用(shǐyòng)创建数据库和表的方法3.掌握数据库和表的修改、查看、删除等基本操作方法●实验内容和要求一、数据库的创建在开始菜单中,启动SQl Server 程序中的“SQL Server Management Studio”,在对象资源管理器窗口中,右键单击“数据库”,选择“新建数据库”,创建成绩管理数据库Grademanager,要求如下表所示:Grademanager数据库参数表二、表的创建、查看、修改和删除1.表的创建在Grademanager数据库中,右键单击“表”,选择“新建表”命令,创建如下表所示的表:(1)Student表的表结构字段名称数据类型长度精度小数位数是否允许Null值说明Sno Char 10 0 0 否学号,主码Sname Varchar 8 0 0 是姓名Ssex Char 2 0 0 是性别,取值:男或女Sbirthday Date 8 0 0 是出生日期Sdept Char 16 0 0 是系名Speciality Varchar 20 0 0 是专业名特别注意:为属性Ssex设置约束,需选中属性Ssex行,然后单击菜单中的“表设计器”,选择“CHECK约束”命令,然后按照图1进行设置。

图1 设置(shèzhì)性别的约束(2)Course表(课程名称表)的表结构(jiégòu)字段名称数据类型长度精度小数位数是否允许Null值说明Cno Char 5 0 0 否课程号,主码Cname Varchar 20 0 0 否课程名(3)SC表(成绩表)的表结构(jiégòu)字段名称数据类型长度精度小数位数是否允许Null值说明Sno Char 10 0 0 否学号,外码Cno Char 5 0 0 否课程号,外码Degree Decimal 5 5 1 是成绩,0~100之间特别(tèbié)注意:①为属性(shǔxìng)Degree 约束,可参照属性Ssex进行设置,“CHECK约束对话框”中的表达式为 Degree>=1 And Degree<=100②为SC表设置外键Sno和Cno的方法:右键单击表SC,选择“设计”命令,然后选择菜单“表设计器”中的“关系”命令,打开“外键关系”窗口,选择“添加”按钮,然后单击“表和列规范”后的按钮,按照图2进行设置,即可将SC表中的Cno属性设置为外键。

数据库表的创建、管理和数据操作(实验一),数据库创建

数据库表的创建、管理和数据操作(实验一),数据库创建

数据库表的创建、管理和数据操作(实验⼀),数据库创建数据库表的创建、管理和数据操作(实验⼀),数据库创建今天我们就以实验的形式对表的创建、管理和数据操作进⾏学习,上课吧。

【实验⽬的】:了解SQL语⾔的使⽤,进⼀步理解关系运算,巩固数据库的基础知识。

【实验要求】:利⽤SQL语⾔进⾏数据库表的各种操作:1.数据库表的创建、修改和删除操作。

2.向表中进⾏数据的插⼊、删除和修改操作。

【实验内容】1. 利⽤数据定义语句在实验⼀创建的stu_DB库中建⽴学⽣管理系统的三个表:Student、Course、SC。

2.利⽤INSERT、UPDATE和DELETE语句对上述三张表的数据进⾏插⼊、更新和删除操作。

3.在stu_DB库中添加Teacher和TC表,对已建⽴的学⽣管理系统中的表添加充⾜的数据(每个表不少于20条),以便完成本实验的后继操作。

【实验步骤】⼀、数据定义(⼀)表的创建在实验⼀创建的数据库stu_DB中分别⽤企业管理器和查询分析器,按下⾯的表结构创建学⽣管理系统的表。

1.利⽤企业管理器创建表(1)打开企业管理器。

(2)选中实验⼀创建好的数据库stu_DB,单击数据库中的表对象,然后右击窗⼝右侧选择新建表,弹出如图所⽰窗体。

(3)在这个窗体中,列名列就⽰表的字段名,可以在这个窗体中为字段选择数据类型和长度以及是否可以为空值。

(4)在此处可以为表选择⽂件组,在表中单击右键,选择属性,如果已经为数据库创建了⼀个次要组,可以在属性窗体的表⽂件组中为此表选择⽂件组。

应该把⼀些竞争使⽤的表放于不同的⽂件组中,并且让⽂件组属于不同磁盘,这样可以在表竞争读写时提⾼并发性能。

(5)创建完成后,单击磁盘图标,并为表取⼀个名字。

注意,应该为表取⼀个有意义的名字。

2.⽤Transact_SQL语句创建表语法为:CREATE TABLE[ database_name.[owner].] table_name( {column_name data_type [DEFAULT ‘default_value']|[CONSTRAINT CONSTRAINT_name]}, […n] [IDENTITY [(seed, increment )]])[ON { filegroup | DEFAULT }][TEXTIMAGE_ON {filegroup | DEFAULT }]【例1】⽣成⼀个表名为student的表create table student(sno CHAR(8) primary key,sname CHAR(10) not null,ssex CHAR (2) check (ssex='男'or ssex='⼥'),sage smallint,sdept CHAR (20) default ('计算机系'),)【例2】创建⼀张名为Ta1的表,此表中有3列,第⼀列Pid定义为主键,并且⾃动增长。

实验1 数据定义及更新语句练习

实验1 数据定义及更新语句练习

实验一:数据定义及更新语句练习一、实验目的:熟练掌握用SQL语句实现数据库和基本表的创建、数据的更新。

二、预习要求:实验前复习讲授过的有关创建数据库、基本表的SQL语句,预习SQL Server2000环境,特别是资源管理器和查询分析器的相关用法。

三、实验内容:(一)用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。

(二)分别使用插入、删除、修改的方式更新基本表中的数据。

四、实验方法和步骤:(一)使用Microsoft SQL Server企业管理器和查询分析器建立数据库mySPJ:1.打开“开始->程序->Microsoft SQL Server->企业管理器”;2.在企业管理器左边的树标签中依次打开“Microsoft SQL Server-> SQL Server 组->(local)(Windows NT)->数据库”, (local)(Windows NT)前的红色标记转化为绿色标记表明NT服务已启动;3.从企业管理器的“工具”菜单中选择“SQL 查询分析器”,打开查询分析器后,在其窗口书写创建数据库mySPJ的SQL语句,点击执行按钮(或F5键)执行该SQL语句;4.在企业管理器左边的树标签中查看数据库是否建立成功。

数据库系统原理及应用答案.

数据库系统原理及应用答案.

数据库系统原理及应用实验指导书(本科)福建工程学院计算机与信息科学系目录实验一数据定义语言 (2)实验二SQL Sever中的单表查询 (5)实验三SQL Serve中的连接查询 (8)实验四SQL Serve的数据更新、视图 (11)实验五数据控制(完整性与安全性) (16)实验六语法元素与流程控制 (19)实验七存储过程与用户自定义函数 (23)实验八触发器 (27)实验一数据定义语言一、实验目的1.熟悉SQL Server2000/2005查询分析器。

2.掌握SQL语言的DDL语言,在SQL Server2000/2005环境下采用Transact-SQL实现表的定义、删除与修改,掌握索引的建立与删除方法。

3.掌握SQL Server2000/2005实现完整性的六种约束。

二、实验内容1.启动SQL Server2000/2005查询分析器,并连接服务器。

2.创建数据库: (请先在D盘下创建DB文件夹)1)在SQL Server2000中建立一个StuDB数据库:有一个数据文件:逻辑名为StuData,文件名为“d:\db\StuDat.mdf”,文件初始大小为5MB,文件的最大大小不受限制,文件的增长率为2MB;有一个日志文件,逻辑名为StuLog,文件名为“d:\db\StuLog.ldf”,文件初始大小为5MB,文件的最大大小为10MB,文件的增长率为10%2)刷新管理器查看是否创建成功,右击StuDB查看它的属性。

3.设置StuDB为当前数据库。

4.在StuDB数据库中作如下操作:设有如下关系表S:S(CLASS,SNO, NAME, SEX, AGE),其中:CLASS为班号,char(5) ;SNO为座号,char(2);NAME为姓名,char(10),设姓名的取值唯一;SEX为性别,char(2) ;AGE为年龄,int,表中主码为班号+座号。

写出实现下列功能的SQL语句。

sql数据库系统原理上机实验(综合版)

sql数据库系统原理上机实验(综合版)

《数据库原理》实验指导书《数据库原理》上机实验上机学时:8学时一、上机性质、目的及任务:通过上机实践,配合课堂教学内容加深对数据库的基本概念和基本技术的理解,掌握数据库系统设计的基本思想和基本步骤,熟悉关系数据库的标准语言SQL,并对典型的关系数据库管理系统有较深入的了解,使学生的动手能力有较大的提高。

二、面向专业:计算机类各专业三、实验指导书:见下页四、实验内容:实验一SQL数据定义 (3)实验二SQL简单查询 (6)实验三SQL 复杂查询 (7)实验四SQL 数据更新 (8)实验一SQL数据定义一、实验目的(1)认识几种常见的数据库管理系统,熟悉它们的使用界面;(2)熟练掌握建立数据库和表,向数据库输入数据、修改数据和删除数据的操作。

(3)熟悉SQL数据定义语言(DDL)二、实验内容(1)分别在Access 和SQL SERVER2005 中建立数据库并设计各表,输入多条实际数据,并实现数据的增、删、改操作。

(2)用SQL语言进行基本表结构的定义、修改、删除,索引的建立和删除三、实验步骤:分别在ACCESS数据库管理系统和SQL SERVR 2005环境下利用图形操作界面(非SQL语句)实现以下操作:1、创建用于学生管理的数据库,数据库名为XSGL,包含学生信息,课程信息和选课信息。

数据库XSGL包含下列3 个表:(l)student:学生基本信息。

(2)course:课程信息表。

(3)sc:学生选课表。

各表的结构分别如表1、表2和表3 所示。

表1 学生信息表:student列名数据类型长度完整性约束sno 字符(文本)型8 主键sname 字符(文本)型 4 不为空ssex 字符(文本)型 1sage 整数(数值)型sdept 字符型10表2 课程信息表:course列名数据类型长度完整性约束cno 字符(文本)型 2 主键cname 字符(文本)型30credit 整数(数值)型cpno 字符(文本)型 3表3 学生选课表:sc列名数据类型长度完整性约束sno 字符(文本)型8 主属性,外键cno 字符(文本)型 2 主属性,外键grade 整数(数值)型是提示:在不使用SQL语句创建表的情况下,可通过ACCESS中的关系(菜单—工具—关系)和SQL SERVER 2005中的数据库关系图(数据库节点展开—数据库关系图)实现外键的创建。

数据定义及更新语句练习

数据定义及更新语句练习

实验一数据定义及更新语句练习实验内容❶用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公斤以上的零件。

数据库原理及应用实验指导★——更新操作练习题

数据库原理及应用实验指导★——更新操作练习题

.1 / 6练习题1、在学生表Student 和学生选课表SC 中分别添加如下两表中的记录。

学生表Student 学生选课表SC3、给IS 系的学生开设7号课程,建立所有相应的选课记录,成绩暂定为60分。

4、把年龄小于等于16的女生记录保存到表TS 中。

5、在表Student 中检索每门课均不及格的学生学号、、年龄、性别及所在系等信息,并把检索到的信息存入TS6、将学号为"98011”的学生改为'华',年龄增加1岁。

7、把选修了"数据库系统"课程而成绩不及格的学生的成绩全改为空值〔NULL 。

8、将Student 的前4位学生的年龄均增加1岁。

9、学生王林在3号课程考试中作弊,该课成绩改为空值〔NULL 。

10、把成绩低于总平均成绩的女同学成绩提高5%。

11、在基本表SC 中修改课程号为"2”号课程的成绩,若成绩小于等于80分时降低2%,若成绩大于80分时降低1%<用两个UPDATE 语句实现>。

12、利用"SELECT INTO ……"命令来备份Student 、SC 、Course 三表,备份表名自定。

13、在基本表SC 中删除尚无成绩的选课元组。

14、把"钱横"同学的选课情况全部删去。

15、能删除学号为"98005”的学生记录吗?一定要删除该记录的话,该如何操作?给出操作命令。

16、删除姓""的学生记录。

17、清空STUDENT 与Course 两表。

18、如何又从备份表中恢复所有的三表。

参考答案:1、在学生表Student 和学生选课表SC 中分别添加如下两表中的记录。

Insert into Student values<'98010','青江',18,'男','CS'>Insert into Student values<'98011','丽萍',19,'女','CH'>Insert into Student values<'98012','景欢',20,'男','IS'>Insert into Student values<'98013','婷婷',16,'女','PH'>Insert into Student values<'98014',' 军',16,'女','EH'>Insert into SC values<'98010', '1',87>Insert into SC values<'98010', '2',null>或Insert into SC<sno,cno> values<'98010', '2'>Insert into SC values<'98010', '3',80>Insert into SC values<'98010', '4',87>Insert into SC values<'98010', '6',85>Insert into SC values<'98011', '1',52>Insert into SC values<'98011', '2',47>Insert into SC values<'98011', '3',53>Insert into SC values<'98011', '5',45>Insert into SC values<'98012', '1',84>Insert into SC values<'98012', '3',null>或Insert into SC<sno,cno> values<'98012', '3'>Insert into SC values<'98012', '4',67>Insert into SC values<'98012', '5',81>2、备份Student表到TS中,并清空TS表。

实验一数据定义和数据更新V1

实验一数据定义和数据更新V1

实验一数据定义和数据更新实验目的:1.熟悉数据库的交互式SQL工具2.通过本实验能够熟练应用sql语言进行基本表和索引的定义,能够对表的结构进行修改和删除,并通过数据更新命令输入相应的数据.实验要求:1.进行实验所要求的各种操作,所有的SQL操作均在此建立的新库里进行。

2.在进行本实验之前,应熟练课程内容,在上机之前做好实验计划,编写好相应的代码。

3.认真填写实验报告,记录所有实验用例。

实验内容:(一)数据定义一、基本表操作1.建立基本表创建教材p69页的学生表(student)、学生选课表(SC)、课程表(course)1)·学生表:Student (Sno, Sname, Ssex, Sdept)其中学号Sno主码2)·课程表:Course (Cno, Cname, Cpno, Ccredit)其中课程号Cno主码;先行课为外码参照Course 表中Cno字段。

3)·学生选课表:SC(Sno, Cno, Grade)其中学号Sno、课程号Cno为主码;Sno为外码参照Student 表中sno字段;Cno为外码参照Course表中cno字段。

2.修改基本表1)在Satudent表中加入属性Sge(number型)。

2)修改某个表的属性的数据类型。

3)给表student的sex列添加一个自定义约束sex只能取’男’,’女’两个值。

3.删除基本表1) 删除基本表Student2)删除基本表SC二、索引操作1.建立索引1)在Student表上建立关于Sname的唯一索引stusnam+学号后四位2)在SC表上建立关于Sno升序、Cno降序的唯一索引i_sc+学号后四位2.删除索引1)删除Student表上的索引stusnam+学号后四位2)删除Course表上的索引i_sc+学号后四位(二)数据操作一、数据更新1.插入数据1)向Student表中插入数据2)向Course表中插入数据3)向SC表中插入数据可参考如下数据,也可不参考。

实验一 数据定义和完整性(带答案)

实验一 数据定义和完整性(带答案)

实验一数据定义和数据库的完整性(4学时)实验目的:1、掌握SQL的数据定义功能2、掌握SQL语言对数据库完整性的支持。

实验内容:1、建立一个数据库XSCJ,自行规定数据文件和日志文件各项参数。

2、参照课本79页建立Course表,并录入数据库表中相应元组。

3、修改Course表增加一列,开课学期,数据类型自行定义。

4、为Course表的Cname列建立一个唯一索引,索引名Cname_idx。

5、删除唯一索引Cname_idx。

6、删除基本表Student。

7、删除数据库XSCJ8、创建创建一个名为BSXT的数据库,其初始大小为5MB,最大大小10MB,允许数据库自动增长,增长方式是按10%比例增长;日志文件初始为2MB,最大可增长到5MB,按1MB增长。

AR9、将以上BSXT据库的主数据文件的最大大小改为不限制。

10、。

在BSXT系统中建立表1至表3共张表,要求采用T-SQL提供的六种约束创建三张表的实体完整性、参照完整性和用户定义的完整性定义表1 学生表(student)表2 教师表(Teacher)表3 毕业设计题目信息表/*--建立一个数据库XSCJ,自行规定数据文件和日志文件各项参数--参照课本79页建立Course表,并录入数据库表中相应元组CREATE TABLE Course(Cno CHAR(1) PRIMARY KEY,Cname CHAR(10),Cpno CHAR(1),Ccredit CHAR(1),FOREIGN KEY(Cpno) REFERENCES Course(Cno))*//*--修改Course表增加一列,开课学期,数据类型自行定义AlTER TABLE Course ADD Csemester CHAR(10)*//*--为Course表的Cname列建立一个唯一索引,索引名Cname_idxCREATE UNIQUE INDEX Cname_idx ON Course(Cname)*//*--删除唯一索引Cname_idxDROP INDEX ame_idx*//*--删除基本表CourseDROP TABLE Course*/--删除数据库XSCJ/*--创建创建一个名为BSXT的数据库,其初始大小为5MB,最大大小10MB,允许数据库自动增长,增长方式是按10%比例增长;--日志文件初始为2MB,最大可增长到5MB,按1MB增长--将以上BSXT据库的主数据文件的最大大小改为不限制--在BSXT系统中建立表1至表3共张表--要求采用T-SQL提供的六种约束创建三张表的实体完整性、参照完整性和用户定义的完整性定义*//*--表1 学生表(student)CREATE TABLE student(Sno CHAR(10) NOT NULL PRIMARY KEY,Sname CHAR(10) NOT NULL,Ssex CHAR(2) CHECK(Ssex='男' or Ssex='女'),Sclass CHAR(10),Stel CHAR(11) NOT NULL,Sgroup CHAR(1) NOT NULL,Spassword CHAR(10) NOT NULL)*//*--表2 教师表(Teacher)CREATE TABLE Teacher(Tno CHAR(10) NOT NULL PRIMARY KEY,Tname CHAR(10) NOT NULL UNIQUE,Tsex CHAR(2) CHECK(Tsex='男' or Tsex='女'),Tdept CHAR(20) NOT NULL DEFAULT '计算机科学与技术系', Tdegree CHAR(8),Ttitle CHAR(10),Tright BIT NOT NULL CHECK(Tright=0 or Tright=1),Ttel CHAR(11) NOT NULL,Temail CHAR(50),Tgroup CHAR(1) NOT NULL,Tpassword CHAR(10) NOT NULL)*//*--表3 毕业设计题目信息表CREATE TABLE Iteminfo(Hno CHAR(4) NOT NULL PRIMARY KEY,Hname CHAR(50) NOT NULL,Hstatus CHAR(5) NOT NULL,Hcontent CHAR(200),dircetion CHAR(200),Tno CHAR(10) REFERENCES Teacher(Tno),Sno CHAR(10) REFERENCES student(Sno))*/补充:--建立一个“学生”表Student。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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、输入表是出错?有时候建基本表时容易输错,再往下就不然输入了,只能把整个表删了重建了。

六、思考题:(一)在为各表设定关键字时弹出的页面中有关键字和索引选项,试通过给基本表设定这两个项目并说明二者的区别。

索引可以加快表的查询速度,经常用来查询的一个或者几个字段设置为索引。

(二)在基本表中输入数据时,注意数据与字段的数据类型和长度以及能否为空的属性是否一致,保存时如有错误分析错误原因,及时改正并将错误报告写在实验报告中。

在基本表中输入数据时,不为空的地方不可以输入空值,否则将无法继续输入。

七、实验总结:感觉数据库还是比较好学的(相对编程来说),但是间数据库的时候容易出错,工作比较繁琐,稍不小心,不管通过代码添加还是手工输入都很可能稍输或输错。

最后还需要仔细检查才行,语句方面还都是一些简单的语句,可以完成。

相关文档
最新文档