实验一数据定义语句及数据的更新操作

实验一数据定义语句及数据的更新操作
实验一数据定义语句及数据的更新操作

实验一:数据定义语句及数据的更新操作

实验目的:熟练掌握建立数据库和表,向数据库输入数据、修改数据和删除数据的操作。

实验内容:

一基本表操作

1.建立基本表

创建数据库experiment1,包含下列6个表:

(l)Student:学生基本信息。

(2)Course:课程信息表。

(3)Sc:学生选课表。

(4) Teacher:教师表。

(5) Dept:系部表。

(6)Tsalary:教师工资表。

各表的结构如下:

(l) Student:学号SNO(int型,主码),姓名SNAME(char 型,长度为8,非空唯一),性别SEX(char型,长度为2),所在系DEPTNO(int型)。

SQL语句为:

CREATE TABLE Student(

SNO INT PRIMARY KEY,

SNAME CHAR(8) NOT NULL UNIQUE,

SEX CHAR(2),

DEPTNO INT)

(2)Course:课程号CNO(int型),课程名CNAME(char型),长度为20,非空),授课教师编号TNO(int型),学分CREDIT(int 型)。其中,(CNO,TNO)为主码。

SQL语句为:

CREATE TABLE Course(

CNO INT,

CNAME CHAR(20) NOT NULL,

TNO INT,

CREDIT INT,

PRIMARY KEY (CNO,TNO))

(3)Sc:学号SNO,课程号CNO,成绩GRADE。所有属性均为INT型,其中(SNO,CNO)为主码。

SQL语句为:请同学们自己完成

(4)Teacher:教师编号TNO(int型,主码),教师姓名TNAME(char型,长度为8,非空),所在系DEPTNO(int型)。

SQL语句为:请同学们自己完成

(5) Dept:系号DEPTNO(int型,主码),系名DNAME(char型,长度为20,非空)。

SQL语句为:请同学们自己完成

(6)Tsalary:教师编号TNO(int型,主码),基本工资Bsalary(int型),绩效工资Jsalary(int型)。

SQL语句为:请同学们自己完成

2.修改基本表

(1)在Student表中加入属性AGE(int型)。

ALTER TABLE Student ADD AGE INT

(2)将Student表中的属性AGE类型改为smallint型。

ALTER TABLE Student ALTER COLUMN AGE smallint

3.删除基本表

删除教师工资表Tsalary

DROP TABLE Tsalary

二、索引操作

1.建立索引

(1)在Student表上建立关于SNO的唯一索引

CREATE UNIQUE INDEX stusno ON Student(SNO)

(2)在Course表上建立关于CNO降序的唯一索引

CREATE UNIQUE INDEX coucno ON Course(CNO DESC)

2.删除索引

(1)删除Student表上的索引stusno

DROP INDEX Student.stusno

(2) 删除Course表上的索引coucno

SQL语句为:请同学们自己完成

三数据更新

1.插入数据

(1)向Student表插入下列数据:

1001,张天,男,10,20

1002,李兰,女,10,21

1003,陈明,男,10,21

1004,刘茜,女,20,21

1005,马朝阳,男,20,22

SQL语句为:

INSERT INTO Student VALUES(1001,'张天','男',10,20)

INSERT INTO Student VALUES(1002,'李兰','女',10,21)

INSERT INTO Student VALUES(1003,'陈明','男',10,21)

INSERT INTO Student VALUES(1004,'刘茜','女',20,21)

INSERT INTO Student VALUES(1005,'马朝阳','男',20,22)

(2)向Course表插入下列数据

1,数据结构,101,4

2,数据库,102,4

3,离散数学,103,4

4,c语言程序设计,101,2

SQL语句为:请同学们自己完成

(3)向Sc表中插入下列数据:

1001,1,80

1002,2,85

1001,3,78

1002,1,78

1002,2,82

1002,3,86

1003,1,92

1003,3,90

1004,1,87

1004,4,90

1005,1,85

1005,4,92

SQL语句为:请同学们自己完成

(4)向Teacher表中插入下列数据

101,张星,10

102,李珊,10

103,赵天应,10

104,刘田,20

SQL语句为:请同学们自己完成

(5)向Dept表中插入下列数据:

10,计算机科学技术

20,信息

SQL语句为:请同学们自己完成

2.修改数据

(1)将学号1001号同学的所有课程加2分UPDATE Sc

SET grade=grade+2

Where sno=1001

(2)将张星老师数据结构课程的学生成绩全部加2分SQL语句为:请同学们自己完成

(3)将所有同学的年龄增加1岁

SQL语句为:请同学们自己完成

(4)将计算机科学系全体同学的成绩置零

SQL语句为:请同学们自己完成

3、删除数据

(1)删除马朝阳同学的所有选课记录

DELETE FROM Sc

WHERE sno in

(SELECT sno

FROM student

WHERE sname='马朝阳')

(2)删除计算机科学系所有学生的选课记录

SQL语句为:请同学们自己完成

思考:创建基本表时,是否可以缺省主码?

说明:

(1)请同学们填写实验报告,并把所有SQL语句补充完整;上机时请注意保存SQL 代码以备今后上机使用,上机完成后上交实验报告。

(2)共6个doc文档,请同学们按下列要求填写实验报告:文档1写在实验报告1上;文档2,3写在实验报告2上;文档4,5写在实验报告3上;文档6写在实验报告4上。第一次上机带实验报告1、2,交实验报告1;第2次上机带实验报告2、3,交实验报告2;第3次上机带实验报告3、4,交实验报告3;第四次上机带实验报告4,交实验报告4

数据库实验3

浙江大学实验报告 课程名称:数据库系统原理实验类型:上机 实验项目名称:SQL数据完整性 实验目的和要求 熟悉通过SQL进行数据完整性控制的方法。 一、实验内容和原理 1. 定义若干表,其中包括primary key, foreign key 和check的定义。 2. 让表中插入数据,考察primary key如何控制实体完整性。 3. 删除被引用表中的行,考察foreign key 中on delete 子句如何控制参照完整性。 4. 修改被引用表中的行的primary key,考察foreign key 中on update 子句如何控制参照完整性。 5. 定义一个asseration, 并通过修改表中数据考察断言如何控制数据完整性。 6. 定义一个trigger, 并通过修改表中数据考察触发器如何起作用。 7. 完成实验报告。 二、实验平台 数据库管理系统:SQL Server 或MySQL 四、操作方法与实验步骤及结果 1.定义若干表,其中包括primary key, foreign key 和check的定义。 如下图所示,建立了三个表分别为classroom,department 和course,其中主键分别被定义为building,dept_name,然后又定义了course中的的dept_name为外键。在course的定义中还有一个定义check的语句。

2.让表中插入数据,考察primary key如何控制实体完整性。 向department中插入主键为null的数据是报错,从而控制了实体完整性。 但当插入数据其他属性为0(不为主键)时,可以进行成功的插入操作。 插入后的结果显示如下。 3.删除被引用表中的行,考察foreign key 中on delete 子句如何控制参照完整性。 首先建立两个表school和students,并向其中插入数据,显示结果如下。 在先前定义了students表school_name为school中这一属性的外键,下面将

数据库第三章作业

第三章SQL 一、填空题 1、在SQL查询时,如果要去掉查询结果中的重复组,需要用() 2、在SQL中使用()命令建立基本表 3、在SQL中使用()命令修改数据库模式。 4、在SQL的SELECT语句中,不仅可以出现属性名,还可以出现()。 5、当基本表中增加一个新列后,各元组在新列上的值是()。 6、在SQL中表示并集的关键字是(0)。 7、在SQL中表示差集的关键字是()。 8、SQL对嵌套查询的处理方法是从()层向()层处理。 9、在SQL中定义视图时,需要用关键字()连接子查询来完成。 10、SQL包括了数据定义、数据操纵和()等功能。 11、SQL对嵌套查询的处理方法是从()层向()层处理。 二、单选题 1、在SQL中,用户可以直接操纵的是()。 A. 基本表 B. 视图 C. 基本表或视图 D. 基本表和视图 2、在SQL中,与关系代数中的投影运算对应的字句是()。 A. SELECT B. FROM C. WHERE D.ORDER BY 3、SELECT语句执行的结果是()。 A. 数据项 B. 元组 C. 表 D. 数据库 4、关系数据库的标准语言是()。 A. DDL B. SQL C. ORACLE D. DBMS 5、在SELECT语句中使用*表示()。 A. 选择任何属性 B. 选择全部属性 C. 选择全部元组 D. 选择键码 6、使用CREATE TABLE语句建立的是()。 A. 数据库 B. 表 C. 视图 D. 索引 7、在SELECT语句中使用MIN(属性名)时,属性名()。 A. 必须是数值型 B. 必须是字符型 C. 必须是数值型或字符型 D.不限制数据类型 8、使用CREATE VIEW语句建立的是()。 A. 数据库 B. 表 C. 视图 D. 索引 9、在SQL中使用UPDA TE对表中数据进行修改时,应使用的子句是()。 A. WHERE B. FROM C. V ALUES D. SET 10、使用CRETE INDEX语句建立的是()。 11、在SQL的语句中,ALTER的作用是()。 A. 删除基本表 B. 修改基本表中的数据 C. 修改基本表中的结构 D. 修改视图 12、在SELECT语句中使用A VG(属性名)时,属性名()。 A. 必须是数值型 B. 必须是字符型 C. 必须是数值型或字符型 D.不限制数据类型 13、在SQL中用关键字EXCEPT表示的运算是集合的()。 A. 交集 B. 并集 C. 差集 D. 连接 14、在SQL的排序子句:“ORDER BY总分DESC ,英语DESC”,表示()。 A. 总分和英语分数都是最高的在前面 B. 总分和英语分数之和最高的在前面

C程序设计第9章选择题作业

1. 20901、设有以下说明语句:C struct Stu { int a; float b; }stutype; 则下面的叙述不正确的是。 A) struct是结构体类型的关键字 B) struct Stu是用户定义的结构体类型 C) stutype是用户定义的结构体类型名 D) a和b都是结构体成员名 2. 20902、根据下面的定义,能打印出字母M的语句是。D struct Person { char name[9]; int age; }; struct Person class[10]={ "John", 17,"Paul", 19,"Mary",18,"adam",16}; A) printf("%c\n",class[3]. name); B) printf("%c\n",class [3]. name[l]); C) printf ("% c\n",class [2]. name [1]); D) printf("%c\n",class [2]. name[0]); 3. 20903、若有以下说明和语句:A struct Student { int num; int age; }stu,*p; p=&stu; 则以下对结构体变量stu中成员age的引用方式不正确的是。 A) *p.age B) p->age C) (*p).age D) stu.age 4. 20904、若有以下程序段: struct Student { int num; int age; }; struct Student stu[3]={{101,20},{102,19},{103,20}}; void main () { struct Student * p; p=stu; … } 则以下引用形式不合法的是。D A) (p++)->num B) p++ C)(*p). num D) p=&stu. age

实验一数据库定义实验

实验一数据库定义实验 一、实验目的 使用SQL Server Management Studio、T-SQL语句创建和管理数据库,学会使用SQL Server查询分析器接收 T-SQL语句和进行结果分析。使用T-SQL语句进行数据表的创建和删除,并对数据表和表中的数据进行有效有管理。 二、实验环境 实验室名称:11#208 软件环境:操作系统:windows 10;SQL 2008 硬件环境:安装内存(RAM):可用) 处理器:Intel(R) Core(TM) i5-5200U CPU @ 硬盘:250GB-SSD 500GB-HDD 三、实验内容 1.用SQL Server Management Studio创建、修改数据库 2.用T-SQL语句创建、修改数据库 3.用SQL Server Management Studio创建、修改数据表 4.用T-SQL语句创建、修改数据表

四、实验步骤及实验结果分析 (一)、创建、修改数据库 1.用SQL Server Management Studio创建步骤: (1)、单击“开始”菜单选择“所有程序”->Microsoft SQL Server 2008->SQL Server Management Studio (2)、单击“视图”->”对象资源管理器”->右击“数据库”->选择“新建 数据库”命令 (3)、在“数据库名称”文本框中输入新建数据库的名称,本例输入“JXGL” (4)、在“新建数据库”的对话框里设置“常规”、“选项”、“文件组” 2.用SQL Server Management Studio修改数据库步骤: (1)、在“对象资源管理器”窗口右击要修改大小的数据库,选择“属性”弹 出属性对话框 (2)、在属性对话框中的“常规”、“文件”、“文件组”、“选项”、“更改跟踪”、 “权限”、“扩展属性”、“镜像”、“事务日志传送”修改数据库的相关信息 3.用SQL Server Management Studio删除数据库 右击要删除的数据库,在弹出的菜单中选择删除命令在弹出的“删除对象” 的对话框中,单击“确定”按钮 4.用T-SQL语句创建数据库: (1)、打开SSMS窗口,并连接到服务器 (2)、依次选择“文件”->”新建”->“数据库引擎查询”命令或者单击标 准工具栏的“新建查询”按钮,创建一个查询输入窗口 (3)、在窗口中输入以下create database 语句:

实验1 数据定义

实验1、数据定义 1、实验目的 熟悉SQL的数据定义语言,能够熟练地使用SQL语句来创建和更改基本表,创建和取消索引。 2、实验内容 ●用SSMS创建数据库University_Mis ●使用CREATE语句创建基本表。 ●更改基本表的定义: 增加列,删除列,修改列的数据类型。 ●创建表的升、降序索引。 ●删除基本表的约束、基本表的索引或基本表。 3、实验步骤 (1)用SSMS创建数据库University_Mis 通过菜单[Microsoft SQL Server]→[启动SSMS]。 利用SSMS工具新建数据库University_Mis 数据库名称:University_Mis 数据库相关参数设置:采用系统默认设置 (2)在SSMS中用SQL语句创建关系数据库基本表: ?学生表Students(Sno,Sname, Semail,Scredit,Sroom);

?教师表Teachers(Tno,Tname,Temail,Tsalary); ?课程表Courses(Cno,Cname,Ccredit);

成绩表Reports(Sno,Tno,Cno, Score); 其中:Sno、Tno、Cno分别是表Students、表Teachers、表Courses的主键,具有唯一性约束,Scredit具有约束“大于等于0”;Reports中的Sno,Tno,Cno是外键,它们共同组成Reports的主键。 (3)更改表Students:增加属性Ssex(类型是CHAR,长度为2),取消Scredit “大于等于0”约束。把表Courses中的属性Cname的数据类型改成长度为30。

数据库实验1-6参考答案

实验一SQL Server使用初步 一、实验目的 1、熟悉SQL Server2000的组成及基本功能。 2、掌握SQL Server2000的登录及注册。 3、掌握SQL Server2000企业管理器的使用方法。 4、熟悉查询分析器的基本使用。 二、实验预习 1、什么是数据库管理系统DBMS?你所知道的DBMS有哪些? 答:DBMS是位于用户和操作系统之间的一层数据管理软件。常见的DBMS主要有:Oracle、db2、SQL Server、MySQL、PostgreSQL、SQLite、Firebird等等。 2、SQL Server 2000(2005)的安装步骤? 答:以企业版安装为例,步骤为: 将企业版安装光盘插入光驱后,出现以下提示框。请选择“安装 SQL Server 2000 组件” 出现下面对话框后,选择 "安装数据库服务器" 。 选择 "下一步",然后选择 "本地计算机" 进行安装。 在 "安装选择" 窗口,选择 "创建新的SQL Server实例..."。对于初次安装的用户,应选用这一安装模式,不需要使用 "高级选项" 进行安装。 "高级选项" 中的内容均可在安装完成后进行调整。 在 "用户信息" 窗口,输入用户信息,并接受软件许可证协议。 在“安装定义”窗口,选择“服务器和客户端工具”选项进行安装。 在“实例名”窗口,选择“默认”的实例名称。 在“安装类型”窗口,选择“典型”安装选项,并指定“目的文件夹”。 在 "服务账号" 窗口,请选择 "对每个服务使用统一账户..." 的选项。 在 "身份验证模式" 窗口,选择 "混合模式..." 选项,并设置管理员"sa"账号的密码。 最后按“下一步”即可完成安装。 检测安装:如果安装成功,应该能成功启动SQL Server,并且能和SQL Server 客户端连接上。 可以通过服务管理器来进行启动。

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

实验一:数据定义及更新语句练习 一、实验目的:熟练掌握用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,

数据定义实验报告

数据库原理与应用实验报告 实验1、数据定义 1.1实验目的 熟悉SQL的数据定义语言,能够熟练地使用SQL语句来创建和更改基本表,创建和取消索引。 1.2实验内容 1.2.1基本表的建立: a)建立一个“学生”表Student,它由学号xh、姓名xm、性别xb、年龄 nl、所在系xi五个属性组成,其中学号属性不能为空,并且其值是 唯一的。 b)建立一个“学生”表Student,它由学号xh、姓名xm、性别xb、年龄 nl、所在系xi五个属性组成,其中学号属性不能为空,并创建检查 约束(nl>0)。 c)建立一个“学生”表Student,它由学号xh、姓名xm、性别xb、年龄 nl、所在系xi五个属性组成,要求学号为主键,xb有默认的值为‘男’。 d)建立“课程kc”包括课程号kch,课程名称kcmc,先修课程xxkc,学 分xf,要求建立主键。 e)建立“成绩登记表cjdj”包括学号xh,程号kch,成绩,要求建立主键 及与student及kc表联接的外键。 1.2.2基本表的修改:

a)在cjdj表中增加一列“任课教师rkjs”。 b)删除cj表中rkjs一列。 c)将student表的xm一列允许空值的属性更改成不允许为空,将列 xm的长度由char(8)改为char(10)。 d)增加cjdj表的列cj增加一个约束要求cj>0 and cj<=100。 e)建立一个临时表,再将其删除。 1.2.3索引的建立与删除(理解以下语句的含义并上机实践): a)create unique index stu_xh on student(xh) b)create index xh_kch on cj(xh asc,kch desc) c)drop index student.xh_kch 1.3实验结果 1.3.1基本表的建立 a)建立一个“学生”表Student,它由学号xh、姓名xm、性别xb、年龄nl、 所在系xi五个属性组成,其中学号属性不能为空,并且其值是唯一的。

数据库实验一 基本SQL2015

实验一Oracle数据库SQL 班级:姓名:学号: 任课教师:实验教师:上机时间: 【实验目的】 在给定的关系数据库管理系统Oracle环境下,通过实验学生能够: 1、Oracle环境的认识及熟悉,了解其对标准SQL的扩充。 2、掌握Oracle环境下数据定义包括数据库、基本表、视图、索引定义。 3、掌握Oracle环境下数据操纵包括数据插入、删除、修改。 4、掌握Oracle环境下数据查询及其各种变化。 【实验性质】 验证性实验 【实验学时】 4H 【实验内容】 设有一个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 表示某供应商供应某种零件给某工程项目的数量为QTY。 其中供应商表s增加一列sqty,记录每个供应商供应零件总数量。 今有若干数据如下:

请根据以上内容完成下面题目,写出相应的SQL语句。(空位不够请自行续页) 1、创建表(定义s表:sno主码,sname非空、city缺省值为北京。定义p表:pno主码,pname非空、color只能取红、蓝、绿。定义j表:jno主码,jname非空。定义spj表:(sno,pno,jno)主码,参照sno、pno、jno外码,qty介于0—1000。) 2、插入数据 3、请用SQL语句完成下面题目的查询。 (1)求供应工程J1零件的供应商号码SNO: (2)求供应工程J1零件P1的供应商号码SNO: (3)求供应工程J1零件为红色的供应商号码SNO: (4)求没有使用天津供应商生产的红色零件的工程号JNO: 4、请用SQL语句完成下面题目的查询。 (1)找出所有供应商的姓名和所在城市。 (2)找出所有零件的名称、颜色、重量。 (3)找出使用供应商S1所供应零件的工程号码。

数据库实验习题

《数据库概论》实验指导书 (2003级) 一、实验目的: 数据库系统是一门应用性很强的课程,上机实验是数据库课程的重要环节。本实验是结合《数据库概论》课程的学习而开设的实验。本实验目的如下: 1. 通过上机实验,加深对数据库系统理论知识的理解,增强对网络环境下大型数据库的感性认识和实际操作能力; 2. 通过使用具体的DBMS,了解一种实际的数据库管理系统,并掌握其操作技术。熟悉ORACLE数据库的Net8工具,掌握ORACLE数据库的网络连接配置; 3. 学习使用SQL语言,加深对SQL语言的认识和理解,提高SQL语言的实际应用能力; 4. 加强对事务处理、权限管理等概念的认识和理解。 二、适应专业:信息管理与信息系统,信息与计算机科学 三、实验学时数:12学时 四、实验内容及学时安排: 实验准备: 各班选出10个同学,协助老师搭建试验环境。包括: 1)安装ORACLE客户端,配置与主机的数据库连接。 2)安装软件工具 PLSQL/DEVELOPER 3)负责本班用户的建立。 分为两批上午下午各两个班。 实验一:数据定义/数据操纵语言 实验目的:熟悉Oracle上机环境以及Oracle客户端的配置;熟练掌握和使用DDL语言,建立、修改和删除数据库表、主键、外键约束关系和索引;熟练掌握和使用DML语言,对数据进行增加、修改和删除操作。 学时数:4学时 实验内容:SQL数据定义语句, SQL数据操纵语句。 实验要求:1. 熟悉Oracle上机环境; 2. 建立数据库表,修改数据库表结构,建立、删除索引;

3. 对数据库表进行插入、修改和删除数据的操作。 实验二:数据查询语言,视图定义 实验目的:体会SQL语言数据查询功能的丰富和复杂,视图使用。 学时数:4学时 实验内容:SQL数据查询语句,视图的定义与操纵; 实验要求:对数据库表进行各种查询操作,建立视图,视图查询,视图更新; 实验三:授权控制与事务处理 实验目的:通过实验进一步理解视图的建立和更新、数据库的权限管理和事务处理功能。 学时数:2学时 实验内容: 1. SQL数据控制语句; 2. SQL事务处理。 实验要求: 1. 给某一或全部用户授权和收回授权; 2. 事务回退,事务提交。 五、教材及参考文献 1.《数据库系统概论》(第三版)萨师煊等编著高等教育出版社 2000.2 2.《ORACLE 8.x For Windows NT实用教程》翁正科等编著清华大学出版社 1998.10 六、实验环境 实验要求如下环境 服务器端:Windows 2000NT Server; ORACLE 8.x Database Server For Windows Windows2000 Server 客户端: Windows9x;Oracle 8.x Client 网络协议:TCP/IP 七、成绩考核 上机实验考核采取实验报告和上机抽查检验相结合的方式。每次实验结束后都必须写出实验报告。 八. 实验报告

实验2 SQL数据库定义与操作

实验2 SQL数据库定义与操作 一、实验目的 ●本次实验了解SQL Server 2008的启动,熟悉如何使用SSMS和SQL建立数 据库和表,并加深对于完整性的理解。 二、背景知识 在使用数据库的过程中,接触最多的就是数据库中的表。表是数据存储的地方,是数据库中最重要的部分,管理好表也就管理好了数据库。 表是由行和列组成的。创建表的过程主要就是定义表的列的过程。表的列名在同一个表中具有唯一性,同一列的数据属于同一种数据类型。除了用列名和数据类型来指定列的属性外,还可以定义其它属性:是否为空、默认值、标识符列、全局唯一标识符列等。 约束是SQL Server提供的自动保持数据库完整性的一种方法,定义了可输入表或表的单个列中的数据的限制条件。在SQL Server中有5种约束:主关键字约束(Primary Key Constraint)、外关键字约束(Foreign Key Constraint)、惟一性约束(Unique Constraint)、检查约束(Check Constraint)和默认约束(Default Constraint)。 三、实验内容 ●方法1:在SSMS中创建数据库和表 在本练习中,将使用SQL Server2008数据库管理系统创建Student数据库,并在Student数据库中创建表Student,使你能够掌握使用SQL Server2008数据库管理系统创建数据库和表的方法。 1)启动SQL Server2008: 依次单击开始->所有程序->SQL Server 2008->SQL Server Management Studio 启动SQL Server 2008数据库管理系统 2)登录数据库服务器: 点击“连接到服务器”对话框中的连接按钮连接到SQL Server 2008数据库服务器。

数据库实验二

数据库实验二 集团文件版本号:(M928-T898-M248-WU2669-I2896-DQ586-M1988)

实验报告册 2014 / 2015 学年第2 学期 系别计算机科学与技术系 实验课程数据库原理 专业计算机科学与技术 班级 姓名 学号 指导教师 实验二——SQL语句 一、实验目的 1.熟悉SQL的数据查询语言,能使用SQL进行单表查询、连接查询、嵌套查询、集 合查询和统计查询,能理解空值的处理;

2.熟悉数据库的数据更新操作,能使用SQL语句对数据库进行数据的插入、更新、 删除操作; 3.熟悉SQL支持的有关视图的操作,能创建、查询及取消视图; 4.了解NULL在数据库中的特殊含义,掌握使用SQL进行与空值相关的操作; 二、实验预习内容 在认真阅读教材及实验指导书【实验1.2 数据查询】、【实验1.3 数据更新】、【实验1.4 视图】和【实验1.6 空值和空集的处理】的基础上,上机前请预习以下内容,并在空白处填写相应的步骤或命令。 1.使用SCHOOL数据库,在SQL SERVER 2000 的查询分析器中使用SQL语言完成以 下操作。请在空白处填写相应的SQL命令。 1)查询年级为2001的所有学生的名称,按编号顺序排列; 2)查询所有课程名称中含有data的课程编号; 3)统计所有老师的平均工资; 4)查询至少选了3门课的学生编号; 5) 6)查询没有学生选的课程编号; 7)查询既选了C++又选了Java课程的学生编号; 8)查询选了C++但没选Java课程的学生编号; 9)向STUDENTS表中插入“LiMing”的个人信息); 10)将“LiMing”的年级改为2002; 11)删除所有选了Java课程的学生选课记录; 12)求出每门课的课程号、选课人数,结果存入数据库表T1中。

数据结构实验1

天津科技大学 2015—2016学年第2学期数据结构实验任务书 课程名称:数据结构实验学时: 2 实验题目:线性表的基本操作 实验环境: Visual C++ 实验目的: 1、掌握线性表的定义; 2、掌握线性表的基本操作,如建立、查找、插入和删除等。 实验内容: 定义一个包含学生信息(学号,姓名,成绩)的顺序表和链表(二选一),使其具有如下功能: (1) 根据指定学生个数,逐个输入学生信息; (2) 逐个显示学生表中所有学生的相关信息; (3) 根据姓名进行查找,返回此学生的学号和成绩; (4) 根据指定的位置可返回相应的学生信息(学号,姓名,成绩); (5) 给定一个学生信息,插入到表中指定的位置; (6) 删除指定位置的学生记录; (7) 统计表中学生个数。 实验提示: 学生信息的定义: typedef struct { char no[8]; //8位学号 char name[20]; //姓名 int score; //成绩 }Student; 顺序表的定义 typedef struct { Student *elem; //指向数据元素的基地址 int length; //线性表的当前长度 }SqList; 链表的定义:

typedef struct LNode{ Student data; //数据域 struct LNode *next; //指针域 }LNode,*LinkList; 实验要求: (1) 程序要添加适当的注释,程序的书写要采用缩进格式。 (2) 程序要具在一定的健壮性,即当输入数据非法时,程序也能适当地做出反应,如插入删除时指定的位置不对等等。 (3) 程序要做到界面友好,在程序运行时用户可以根据相应的提示信息进行操作。 (4) 根据实验报告模板详细书写实验报告,在实验报告中给出链表根据姓名进行查找的算法和插入算法的流程图。 (5) 以班为单位实验周周五上传源程序和实验报告。顺序表的源程序保存为SqList.cpp,链表的源程序保存为LinkList.cpp,实验报告命名为:实验报告1.doc。源程序和实验报告压缩为一个文件(如果定义了头文件则一起压缩),按以下方式命名:学号姓名.rar,如07081211薛力.rar。

数据库实验报告(一)

滨江学院 题目数据库实验报告(一) 学生姓名 学号 系部电子工程系 专业通信工程 指导教师林美华 二O一三年十二月十八日

实验一数据库的定义实验 本实验需要2学时。 一、实验目的 要求学生熟练掌握和使用SQL、SQL Server企业管理器创建数据库、表、索引和修改表结构,并学会使用SQL Server 查询分析器接收语句和进行结果分析。 二、实验内容 1 创建数据库和查看数据库属性。 2 创建表、确定表的主码和约束条件。为主码建索引。 3 查看和修改表结构。 4 熟悉SQL Server企业管理器和查询分析器工具的使用方法。 三、实验步骤 1 基本操作实验 (1) 使用企业管理器按教材中的内容建立图书读者数据库。 (2)在企业管理器中查看图书读者数据库的属性,并进行修改,使之符合要求。 (3)通过企业管理器,在建好的图书借阅数据库中建立图书、读者和借阅3个表,其结构为; 图书(书号,类别,,作者,书名,定价,作者). 读者(编号,,单位,性别,). 借阅(书号,读者编号,借阅日期) 要求为属性选择合适的数据类型,定义每个表的主码.是否允许空值和默认值等列级数据约束。 (4)在企业管理器中建立图书、读者和借阅3个表的表级约束.每个表的主码约束.借阅表与图书表间、借阅表与读者表之间的外码约束,要求按语义先确定外码约束表达式.再通过操作予以实现.实现借阅表的书号和读者编号的惟一性约束:实现读者性别只能是“男”或“女”的Check(检查)约束。 2 提高操作实验 (一) 将教材中用SQL描述的建立学生--课程操作.在SQL Server企业管理器中实现。库中表结构为: 学生(学号,,年龄,性别,所在系). 课程(课程号,课程名,先行课). 选课(学号,课程号,成绩) 要求: 1)建库、建表和建立表间联系。, 2)选择合适的数据类型。 3)定义必要的索引、列级约束和表级约束. 四、实验方法 l创建数据库 (1)使用企业管理器创建数据库的步骤 1)从“开始”菜单中选择;“程序”“Microsoft SQL2000”“企业管理器”.

数据库实验报告

实验一 SQL Server基本使用与数据定义一.实验目的 1.掌握“服务管理器”、“企业管理器”及“查询分析器”基本使用方法;2.熟悉数据库建模及E/R图的画法; 3.掌握SQL Server 中数据库、及数据表的建立与管理方法; 4.掌握数据的导入/导出及数据库备份/还原方法。 二.实验内容 一、SQL Server 基本使用 1.启动SQL SERVER。 2.注册服务器 3.企业管理器属性 4.查询分析器介绍 5.查看数据库及浏览表中记录 二、数据库的建立与管理 1.数据库建模 2.启动、并打开SQL Server 3.使用图形界面创建数据库和表 4.使用查询分析器创建表 5.数据库的备份与还原

实验二 SQL查询 一.实验目的: 1.掌握SQL语言中SELECT语句的多种查询方式。 2.掌握对表建立与删除索引的方法。 3.掌握聚焦函数的使用方法。 4.掌握集合查询方法。 二.实验内容: 1.建立与删除[索引]的方法。 在各表中,分别按代理商编号、客户编号、产品编号及订单编号建立索引。 CREATE INDEX 代理商No ON 代理商(代理商编号) CREATE INDEX 客户No ON 客户(客户编号) CREATEINDEX产品No ON产品(产品编号) CREATEINDEX订单No ON订单(订单编号) 2.单表查询, ①从产品表中查询现有产品的库存量。 SELECT COUNT(*) FROM产品 ②从客户表中查询“王五”的地址及代理商编号。 SELECT地址,代理商编号 FROM客户 WHERE姓名='王五' ③从代理商表中查询代理商“惠普”的提成金额。 SELECT提成金额 FROM代理商 WHERE姓名='惠普' ④从订货项目表中查询编号为“444”的订单所订购的商品编号及数量。 SELECT产品编号,订购数量 FROM订货项目 WHERE订单编号='444' ⑤分别求代理商和客户的总数。 SELECT COUNT(*)代理商数 FROM代理商 SELECT COUNT(*)客户数 FROM客户 ⑥从订货项目表中,查询编号为0033的产品定货总数量。 SELECT COUNT(*)订货总数量 FROM订货项目 WHERE订单编号='0033' 3.多表查询 ①查询编号为300的客户通过的代理商的姓名和地址。 SELECT代理商.姓名,代理商.地址

数据库实验 王珊演示教学

实验内容和时间安排 1 时间安排 2 实验内容 实验0 SQL语句练习 [实验时数] 2 学时 该实验以SQL Server 2000系统自带的pubs 数据库为例,以一个图书出版公司为模型。 (1)该系统中数据库基本表如下: Authors:

1 au_id CHECK 约束定义为(au_id LIKE '[0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9][0-9][0-9]')。 2 zip CHECK 约束定义为(zip LIKE '[0-9][0-9][0-9][0-9][0-9]')。 ============================ discounts Employee (emp_id LIKE '[A-Z][A-Z][A-Z][1-9][0-9][0-9][0-9][0-9][FM]') OR (emp_id LIKE '[A-Z]-[A-Z][1-9][0-9][0-9][0-9][0-9][FM]')。 ============================ Jobs (2) max_lvl CHECK 约束定义为(max_lvl <= 250)。 ============================ pub_info

Publishers (pub_id = '1756' OR (pub_id = '1622' OR (pub_id = '0877' OR (pub_id = '0736' OR (pub_id = '1389')))) OR (pub_id LIKE '99[0-9][0-0]')。 ============================ roysched Sales titles

数据定义与操作

信息工程学院1 数据库原理与应用(SQL Server 2008) 实验/实习报告 一、实验目的 1、掌握使用SQL语句创建和删除数据库; 2、掌握使用SQL语句创建和删除数据表,创建各种完整性约束,修改表的结构; 3、掌握索引的创建和删除方法。 4、掌握查询语句的使用方法,重点掌握连接查询和嵌套查询,理解查询的执行过程。 5、掌握数据更新语句的使用; 6、掌握视图操作的基本方法和应用,理解基于视图的查询和数据更新操作的过程。 二、预备知识 1、数据库的建立与删除 可以使用SQL语句建立数据库,语句格式为: CREATE DATABASE <数据库名> 其中CREATE DATABASE为关键字,<数据库名>为用户创建的数据库的名称,由用户自定。 使用DROP DATABASE 语句可以删除数据库,语句格式为: DROP DATABASE <数据库名> 其中DROP DATABASE为关键字,<数据库名>为要删除的数据库的名称。当数据库被删除时,数据库中的所有数据对象也一起被删除掉。 2、数据表的创建与删除 使用Create Table语句创建数据表,语句格式为: CREATE TABLE <表名>(<列名> <数据类型> [列级完整性约束条件] [,<列名> <数据类型> [列级完整性约束条件]] … [,<表级完整性约束条件>]); 其中CREATE TABLE为关键字,<表名>为数据表的名称,由用户确定,<列名>为组成这个表的属性列的名称,由用户确定,<数据类型>为属性列的取值的类型,由用户在具体的DBMS所提供的数据类型中选择。 使用Drop Table 语句删除数据表,语句格式为:

实验1 数据库定义

实验1 数据库定义 实验目的 1、掌握SQL数据定义功能:数据库定义、表的定义、索引定义。实验内容 1、创建spj数据库 CREATE DATABASE SPJ; CREATE TABLE S( SNO CHAR(6) PRIMARY KEY, SNAME VARCHAR(20) NOT NULL, STATUS VARCHAR(50), CITY VARCHAR(50) ); CREATE TABLE P( PNO CHAR(6) PRIMARY KEY, PNAME VARCHAR(20) NOT NULL, COLOR VARCHAR(2), WEIGHT NUMERIC(9,2) CHECK(WEIGHT>0 AND WEIGHT<=100) ); (3) 工程项目表J

JNO CHAR(6) PRIMARY KEY, JNAME VARCHAR(20) NOT NULL, CITY VARCHAR(50) ); SNO CHAR(6) NOT NULL, PNO CHAR(6) NOT NULL, JNO CHAR(6) NOT NULL, QTY SMALLINT DEFAULT 100 ); 2、创建school数据库 CREATE DATABASE SCHOOL; CREATE TABLE Student( SNO CHAR(7) PRIMARY KEY, SNAME CHAR(10) NOT NULL, SSEX CHAR(2) CHECK(SSEX=’男’ OR SSEX=’女’ ), SAGE SMALLINT CHECK(SAGE>’15’ AND SAGE<’45’), SDEPT VCGHAR(20) DEFAULT '计算机系' );

1数据库的定义实验

实验一数据库的定义实验 课时安排:2课时 一、实验目的和要求 要求学生熟练掌握和使用SQL、Transact-SQL、SQL Server企业管理器创建数据库、表、索引和修改表结构,并学会使用SQL Server 查询分析器接收Transact-SQL语句和进行结果分析。 二、实验内容 1 创建数据库和查看数据库属性。 2 创建表、确定表的主码和约束条件。为主码建索引。 3 查看和修改表结构。 4 熟悉SQL Server企业管理器和查询分析器工具的使用方法。 三、实验步骤 1 基本操作实验 (1) 使用企业管理器建立图书读者数据库。 (2)在企业管理器中查看图书读者数据库的属性,并进行修改,使之符合要求。 (3)通过企业管理器,在建好的图书借阅数据库中建立图书、读者和借阅3个表,其结构为; 图书(书号,类别,出版社,作者,书名,定价,作者). 读者(编号,姓名,单位,性别,电话). 借阅(书号,读者编号,借阅日期) 要求为属性选择合适的数据类型,定义每个表的主码.是否允许空值和默认值等列级数据约束。 (4)在企业管理器中建立图书、读者和借阅3个表的表级约束.每个表的主码约束.借阅表与图书表间、借阅表与读者表之间的外码约束,要求按语义先确定外码约束表达式.再通过操作予以实现.实现借阅表的书号和读者编号的惟一性约束:实现读者性别只能是“男”或“女”的Check(检查)约束。 2 提高操作实验 (1)建立学生--课程操作.在SQL Server企业管理器中实现。库中表结构为: 学生(学号,姓名,年龄,性别,所在系). 课程(课程号,课程名,先行课). 选课(学号,课程号,成绩) 要求: 1)建库、建表和建立表间联系。, 2)选择合适的数据类型。 3)定义必要的索引、列级约束和表级约束. (2)将自设计的数据库应用系统中的数据库、库中的表、索引和约束用Transact-SQL 表达,并通过企业管理器或查询分析器实现建库、建表、建立表间联系和建立必要的索引、列级约束和表级约束的操作,

实验四SQL语言数据定义语言DDL(精)

实验四 SQL 语言数据定义语言 DDL 一、实验目的 SQL(Structured Query Language 语言是关系数据库的标准语言。是一种介于关系代数与关系演算之间的结构化查询语言,其功能并不仅仅是查询, SQL 语言是一个通用的、功能极强的关系数据库语言。 本次实验了解 SQL 语言中 DDL 语言的 CREATE 、 DROP 、 ALTER 对表、索引、视图的操作,掌握在 Navicat for MySQL 中用 DDL 语言进行对表、索引、视图的增加、删除和改动。掌握使用 SQL 语句增加或删除约束, 加深对完整性概念的理解, 达到灵活应用的目的。掌握使用 SQL 语句定义和删除同义词。 二、实验要求 1、实验前:预习实验内容,学习相关知识。 2、实验中:按照实验内容要求进行实验,实验时注意每种 SQL 语句的基本命令及各个关键字的含义,做好实验记录。 3、实验后:分析实验结果,总结实验知识,得出结论,按格式写出实验报告。 4、在整个实验过程中,要独立思考、独立按时完成实验任务,不懂的要虚心向教师或同学请教。 5、要求按指定格式书写实验报告,且报告中应反映出本对次实验的总结,下次实验前交实验报告。 三、实验的重点与难点 1、重点: (1用 SQL 语句定义表结构(创建、修改和删除。

(2用 SQL 语句定义索引(创建、删除。 (3用 SQL 语句定义视图(创建、删除。 (4用 SQL 语句定义同义词(创建、删除。 2、难点: 完整性约束的定义、增加及删除。 同义词的定义与删除。 四、仪器设备及用具 硬件:投影仪、每位同学分配已连接校园网 PC 机一台。 软件:本机已安装 MySQL 5.5数据库平台。 五、教学过程 (一实验预习 (1熟悉 SQL 中的 CREATE 、 DROP 、 ALTER 语句的格式及所用的关键字含义及用法。 (2掌握完整性约束定义、增加和删除的一般用法。 (3掌握同义词定义、删除的一般用法。 (二实验原理 在 Navicat for MySQL 中使用 CREATE 命令完成对表、索引、视图、同义词的创建,使用 DROP 命令完成对表、索引、视图、同义词的删除,使用 ALTER 命令对表结构进行修改及完整性约束的增加、删除。 (三实验内容

实验一 SQL语言基础与数据库定义

实验一SQL语言基础与数据库定义 一、实验目的 1. 掌握使用SQL Server企业管理器创建数据库、基本表和修改基本表的结构。 2. 掌握使用Transact-SQL语句创建数据库、基本表和修改基本表结构。 3. 掌握数据库的整体结构以及约束、缺省等概念。 二、相关知识 创建数据库时首先需要定义恰当的数据库大小,如果设得太大则会浪费空间,太小则以后扩充数据库数据时会影响数据库的性能。所以创建数据库之前必须估算所建数据库的大小和增幅。 在SQL Server 2005中最基本的数据存储单元是页,每页的大小为8KB(8192字节),每页除去96字节的头部(用来存储有关的页信息,如页类型、可用空间等),剩下的8096字节用来存储数据,且数据从紧接页头的位置开始,按行的顺序分布在数据页上,但数据行不能跨页存储。这意味着SQL Server 2005数据库可以在1MB字节的空间里存储128页(1024÷8)的数据。 数据库Northwind的逻辑构成 从上图中,我们可以很清楚地看到示范数据库Northwind的逻辑结构,它由表、视图、角色等组件构成。而实际的物理存储中,Northwind的所有数据和对象都存储在操作系统文件northwind.mdf数据文件中,它的日志文件为northwnd.ldf。默认目录为:\program Files\Microsoft SQL Server\MSSQL\data。 每个SQL Server 2000中的数据库在物理上都由至少一个数据文件和至少一个日志文件组成。数据文件又分为主要数据文件和次要数据文件,具体说明如下: 1)主要数据文件(Primary):里面包含了数据库启动的信息,这个主要数据文件也是用来存储数据的文件,所有的数据库一定会有一个主要数据文件,其保存时的扩展名为.mdf。2)次要数据文件(Secondary):放置不适合放在文件中或主要数据文件放不下的数据,如果数据库的主要数据文件很大就可能会有这个次要数据文件,但也可能为了数据库运行性能、备份或恢复等因素而有次要数据文件。所以一个数据库可能会有多个次要数据文件,也可能一个都没有,其保存时的扩展名为.ndf。 3)日志文件(Log):事务日志信息文件,用来作数据库恢复的基础信息。每个数据库至少

相关文档
最新文档