同济大学数据库-实验六答案

同济大学数据库-实验六答案
同济大学数据库-实验六答案

1.定义视图并在视图上完成数据的查询功能。

1)建立“查询有选课记录的学生学号、课程号、课程名称、成绩信息”操作的视图。

CREATE VIEW S_score

AS

SELECT sc.snum,https://www.360docs.net/doc/20263045.html,um,

https://www.360docs.net/doc/20263045.html,ame, sc.score

FROM sc join sections on

sc.secnum=sections.secnum Join

course on https://www.360docs.net/doc/20263045.html,um=https://www.360docs.net/doc/20263045.html,um

2)在上述视图的基础上完成查询:查询所有学生都及格的课程名称。

SELECT cname AS'所有学生都及格的课名称' FROM S_score

WHERE cname NOT IN(SELECT cname

FROM S_score WHERE score<60)

SELECT cname AS所有学生都及格的课程名称FROM S_score

GROUP BY cname Having min(score)>=60

2.存储过程的建立与执行

1)建立存储过程,其功能为显示所有学生的基本信息CREATE PROCEDURE学生信息

AS

SELECT*FROM student

==========

exec 学生信息

2)建立存储过程,其功能是查询给定出生年份信息(已知出生日期的前4位的信息)的学生信息

CREATE PROC student_proc

@_year INT

AS

SELECT*

FROM student

WHERE YEAR(birthday)=@_year

===========

exec student_proc 1988

3.建立一组触发器,并设计一组必要的数据操作,验证触发器的功能

1)自定义一个触发器,完成选课表sc属性snum的参照完整性控制。

CREATE TRIGGER SC_insert ON sc

FOR INSERT,UPDATE AS

BEGIN

IF((SELECT snum FROM inserted)NOT IN (SELECT snum FROM student))

BEGIN

PRINT '没有该学生,撤销操作'

ROLLBACK

END

IF((SELECT secnum FROM inserted)NOT IN (SELECT secnum FROM sections)) BEGIN

PRINT'没有该班级,撤销操作'

ROLLBACK

END

END

========

测试1:插入一个不存在的学生的选课记录

insert into sc

values('s009','11601',78)

测试2:插入一个不存在的班级的选课记录

insert into sc

values('s008','11622',78)

2)自定义一个触发器,完成教课表sections的数据完整性控制。

CREATE TRIGGER sections_delete

ON sections FOR DELETE AS

BEGIN

If exists(select*from sc where

secnum in(select secnum from deleted)) begin

Raiserror('该班级有学生选课,

同时删除学生的选课记录!',16,1)

DELETE FROM sc WHERE secnum in

(select secnum from deleted)

end

else

Raiserror('该班级无学生选课,

删除该班级!',16,1)

END

测试1:删除一个有学生选课的班级.

delete from sections where secnum='11601'

测试2:删除一个无学生选课的班级.

首先插入一个新开班级14001:

insert into sections

values('14001','c120','p005')

然后删除14001班级:

delete from sections where secnum='14001'

同济大学数据库课程考核试卷 A卷 秋季数据库期中考试 英语 参考答案

同济大学课程考核试卷(A卷) 2012 —2013 学年第一学期 课号:10014501 课名:数据库系统原理(双语)考试考查:考试此卷选为:期中考试( )、期终考试( )、重考( ) 试卷 年级专业学号姓名得分 Ⅰ. Multiple choice (20 marks, 2 marks each) (C )1. Five basic relational algebra operations are , others can be derived from these operations. A. ?,-,π,σ,? B. ?,-,π,σ, C. ?,-,π,σ,? D. ?,÷,π,σ, (ABD)2. The following aggregation function(s) will neglect null value. A. SUM B. MAX C. COUNT D. A VG (A. )3. Given R, U={A,B,C}, F={B→C}, a decomposition of R is ρ={AB, BC}, and the decomposition is: A. lossless-join, dependency preserving B. lossless-join, not dependency preserving C. lossy-join, dependency preserving D. lossy-join, not dependency preserving (BD )4. When we generate relational schemas from an E-R diagram, the rules for relationship sets are: A. for a binary 1: n relationship set, translate it into a relation, and the primary key of the relationship set is the primary key of the “1” side entity set; B. for a binary 1: n relationship set, translate it into a relation, and the primary key of the relationship set is the primary key of the “n” side entity set; C. a binary 1: n relationship set can be united with the “1”side entity set, and translated into one relation; D. a binary 1: n relationship set can be united with the “n”side entity set, and translated into one relation; (ABC)5. If R∈BCNF, then: A. non-attributes are entirely functional dependent on non-key attributes; B. all key attributes are entirely functional dependent on each candidate key that does not contain them; C. all partial dependencies and transitive dependencies are removed for any

数据库实验

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

数据库原理实验指导 实验前准备: 请设计一个企业销售管理据库,其中需要保存的信息如下: 员工信息,包括:员工编号、员工姓名、性别、所属部门、职称、到职日、生日、薪水、填表日期; 客户信息,包括:客户号,客户名称,客户住址,客户电话、邮政编码; 产品信息,包括:产品编号,产品名称; 员工和客户可以签订订单,每签订一个订单,就要保存订单信息,包括:订单编号、客户号、业务员编号、订单金额、订货日期、出货日期、发票号码。 此外,每个订单可能涉及到多种产品,每种产品可能被多个订单订购。因此需要每个订单中每类产品的销售明细,包括每种产品的销售数量、单价、订单日期; 要求: (1)给出系统的ER图(可以用word或其它画图工具,如Visio画),要求画出所有的实体,联系,属性以及联系的类型; (2)将ER图转换为关系模型; 实验一 实验名称:数据定义(2课时) 一、实验目的

1、理解数据库模式的概念,通过使用SQL SERVER企业管理器或者My Sql建立数据库和基本表。模式为人事表、客户表、销售表、销售明细表、产品表。熟悉SQL SERVER企业管理器的使用,并将得到的表生成脚本,然后保存。 2、理解上述基本表之间的关系,建立关系表。 3、掌握修改表结构的基本方法 4、掌握索引和视图的创建方法 二、实验环境 MS SQL SERVER或者My Sql。 三、实验内容与步骤 1、建立一个数据库和五张表的表结构。 (1)/*员工人事表employee */ Create datebase sale; create table employee( emp_no char(5) Not null primary key, emp_name char(10) Not null, sex char(1) Not null,

同济大学数据库作业lab5

同济大学 《数据库技术及应用》 实验报告 实验报告题目: 视图,存储过程和触发器 姓名:学号: 年级:专业: 指导教师: 日期:2014 年10 月27 日

一.实验目的 1.学会视图的建立和基于视图的数据库建立 2.学会存储过程的建立和存储方法 3.学会触发器的建立和使用方法,通过实验数据的操作过程了解应用触发器实现数据库完整性控制的设计过程 二.实验内容 (实验题目+运行界面截图+实现代码) 1.(1)创建视图viewa,查询有选课记录的学生号,课程号,课程名称。成绩。 create view viewA as select student.snum,sc.secnum,https://www.360docs.net/doc/20263045.html,ame,sc.score from student,sc,sections,course where student.snum=sc.snum and sc.secnum=sections.secnum and https://www.360docs.net/doc/20263045.html,um=https://www.360docs.net/doc/20263045.html,um

(2)在上述视图的基础上查询所有学生都及格的课程名称select cname from viewA group by cname having min(score)>60 2.存储过程的建立和执行 (1)建立存储过程proca,其功能是显示所有学生的基本信息

create proc proca as select* from student exec proca (2)建立procb,查询出给定出生年份信息的学生信息 create proc procb @_year int as select*from student where year(birthday)=@_year declare@y int set@y=1994 exec procb@y (3)建立存储过程procc,查询给定学好的学生的课程平均成绩,选修课程的门数和不及格课程的门数 create proc procc @_xh char(4) as

数据库实验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 客户端连接上。 可以通过服务管理器来进行启动。

数据库技术实验六

实验目的: 1. 掌握存储过程的使用方法; 2. 掌握触发器的实现方法; rjM_K.IGG...o.hpl 叮碍 SUUieryJ.E . itir 血 Ecus ton ardurji 5ex V.'crtYMr ⑷崔 加础ur 怙 Wil True 中憎 0帧 Tnz 3 SJ21121 1

(2)创建存储过程,根据每个员工的学历将收入提高500元 alter proc SA_IN @enuchar(6) as begin update Salary set InCome=InCome+500 from Salary,Employees where Employees.EmployeeID =Salary.EmployeeID and Education=@enu end select In Come from Salary,Employees where Salary.EmployeeID = Employees.EmployeeID and Education ='本科' go execdbo.sa_ in'本科' go select In Come from Salary,Employees where Salary.EmployeeID = Employees.EmployeeID and Educati0门=本科' select In Come from Salary,Employees where Salary.EmployeeID =Employees.EmployeeID ■I■ ■ ■ H 1 20B 2 ; 4 52A&7D1 34&D7 3031.55 inCcwii* 1;2532 2 3293701 4羽曲才 号3521 (3)创建存储过程,使用游标计算本科及以上学历的员工在总员工数中的比例。declare @edu varchar ( 10), @part_cou nt int 5 @all_cou nt int J declare mycursor cursor for select disti net educati on , COUNT( education ) over ( partition by education ) as part_cou nt , COUNT( education ) over () as all count and Educati0门=本科

数据库实验六

数据库上机实验六 实验名称:视图的建立与使用(续)和数据库的安全性控制 一、实验目的 1.加深掌握视图的定义与工作原理。 2.理解SQL SERVER 2000登录账户、数据库用户、角色、权限的概念及管理方法。 二、实验内容与步骤 1.对视图的操作 (1)创建一个视图,该视图只含上海客户信息,即客户号、客户姓名、住址。 create view cus_SH as select cust_id, cust_name, addr from customer where addr = '上海' (2)删除题1建立的视图中所有姓“王”的客户数据。 delete from cus_SH where cust_name like '王%' (3)对题(1)建立的视图添加一条记录数据(注意:分别查看customer表和该视图的结果)。 insert into cus_SH values ('10010','叶秀玲','武汉') /* 无法将 NULL 值插入列 'tel_no',表 'Sale_Manage.dbo.customer';该列不允许空值。 INSERT 失败。 语句已终止。 */

(4)通过题(1)建立的视图修改表内某一客户的姓名。 update cus_SH set cust_name = '王子' where cust_name = '王' (5)有两个基本表employee和sales,创建一个视图,该视图包含相同业务员的编号、姓名、订单号、销售总金额。 create view emp_sale as select emp_no, emp_name, order_no, tot_amt from employee, sales where emp_no = sale_id (6)给题(5)建立的视图添加一条记录数据。 insert into emp_sale values ('E1000', '肖萧', '1009', '900.00') --视图或函数 'emp_sale' 不可更新,因为修改会影响多个基表。 (7)将题(5)建立的视图中订单号为1001的记录的销售总金额改为60000。 update emp_sale set tot_amt = 60000 where order_no = '1001' (8)删除题5建立的视图。 drop view emp_sale; 2.数据库的安全性控制

同济大学实验安全考试题库

1 单选题做加热易燃液体实验时,应该()。 A 用电炉加热,要有人看管 B 用电热套加热,可不用人看管 C 用水浴加热,要有人看管 正确答案:C 2 单选题毒物进入人体最主要、最常见的途径是()。 A 呼吸道 B 皮肤 C 眼睛 D 消化道 正确答案:A 3 单选题倾倒液体试剂时,瓶上标签应朝()。 A 上方 B 下方 C 左方 D 右方 正确答案:A 4 单选题当不慎把少量浓硫酸滴在皮肤上时,正确的处理方法是()。 A 用酒精擦 B 马上去医院 C 用碱液中和后,用水冲洗 D 以吸水性强的纸吸去后,用水冲洗 正确答案:D 5 判断题学生可以单独使用剧毒物品吗? 正确答案:对 6 单选题当有危害的化学试剂发生泄漏、洒落或堵塞时,应()。 A 首先避开并想好应对的办法再处理 B 赶紧打扫干净或收拾起来 正确答案:A 7 单选题下列物品不属于剧毒化学品的是()。 A 氰化钾 B 氯化汞 C 铊 D 甲醛 正确答案:D 8 单选题K、Na、Mg、Ca、Li、AlH3、MgO、电石中,遇水发生激烈反应的有()。 A 5种 B 6种 C 7种 D 8种 正确答案:B 9 单选题金属Hg常温下会()。 A 不挥发 B 慢慢挥发

C 很快挥发 正确答案:B 10 单选题HCN无色,气味是()。 A 无味 B 大蒜味 C 苦杏仁味 正确答案:C 11 单选题氮氧化物主要伤害人体的()器官。 A 眼、上呼吸道 B 呼吸道深部的细支气管、肺泡 正确答案:B 12 单选题易燃易爆试剂应放在()。 A 在铁柜中,柜的顶部要有通风口 B 在木柜中,柜的顶部要有通风口 C 在铁柜中,并要密封保存 D 在木柜中,并要密封保存 正确答案:A 13 多选题以下哪些酸具有强腐蚀性,使用时须做必要的防护()。 A 硝酸 B 冰醋酸 C 硼酸 正确答案:A,B 14 多选题使用易燃易爆的化学药品应该注意()。 A 避免明火加热 B 加热时使用水浴或油浴 C 在通风橱中进行操作 D 不可猛烈撞击 正确答案:A,B,C,D 15 多选题剧毒类化学试剂应如何存放()。 A 应锁在专门的毒品柜中 B 应存于实验台下柜中 C 置于阴凉干燥处,并与酸类试剂隔离 D 建立双人登记签字领用制度,建立使用、消耗、废物处理等制度 E 储存室应配备防毒、防盗、报警及隔离、消除与吸收毒物的设施正确答案:A,C,D,E 16 多选题爆炸物品在发生爆炸时的特点有()。 A 反应速度极快,通常在万分之一秒以内即可完成 B 释放出大量的热 C 通常产生大量的气体 D 发出声响 正确答案:A,B,C,D 17 多选题具有下列哪些性质的化学品属于化学危险品()。 A 爆炸 B 易燃

实验六 访问数据库

实验六访问数据库 一、实验目的 1、熟悉通过嵌入式SQL(主语言为C++语言)编程访问数据库,及掌握游 标的使用方法 2、熟悉通过ODBC接口访问异构数据库并对异构数据库进行操作 3、学会配置ODBC数据源 4、学会各种数据库的访问方法 二、实验要求 1、编写一个嵌入式C++程序,实现对SQL Server2005数据库中的“学生课 程数据库”的Student表中的年龄进行更新,即系统每输出一个学生记录,询问用户是否更新。如果要更新,就输入新的年龄。要求:提交源程序并标识必要的注释。 答:create table provider ( Sno char(5)primary key, Sname char(20)not null, Ssex char(4), Sage int ); insert into provider values('S1','李刚',’男’,20); insert into provider values('S2','李红',’男’,21); insert into provider values('S3','李飞',’男’,25); insert into provider values('S4','李春',’男’,21); #include #include #include #include #include #include #include #include EXEC SQL BEGIN DECLARE SECTION; char deptname[20]; char HSno[9]; char HSname[20]; char HSsex[2]; int HSage; int NEWAGE;

数据库实验6数据库系统设计

实验报告 学院:计信学院专业:网络工程班级:091 姓名学号实验组实验时间2012-6-1 指导教师成绩实验项目名称实验六:数据库系统设计实 验目的 要求掌握数据库设计的基本技术,熟悉数据库设计的每个步骤中的任务和实施方法,并加深对数据库系统概念和特点的理解。 实 验 要 求 本实验属于设计型实验,通过实验,加强对课堂讲授知识的理解。 实验原理 必须按照数据库设计的四个阶段进行:需求分析(分析用户要求)、概念设计(信息分析和定义)、逻辑设计(设计实现)和物理设计(物理数据库设计)。概念模型设计时采用自底向上的方法,即自顶向下的进行需求分析,然后再自底向上地设计概念结构,和自底向上的设计方法;概念模型必须用E-R图进行表示。在逻辑设计阶段,将E-R图转换成关系模式,然后进行关系模式的规范化。在物理设计阶段,将关系模式转化成SQL Server中的具体的数据库表,并建立表间的关系,表的索引,及相关的约束。 实 验仪器(1)硬件条件:个人计算机。 (2)软件条件:Windows 2000NT Server; MS SQL Server 2000。 实验步骤1、完成系统需求分析报告 在系统需求分析报告中包括采用的设计方法、数据流图和数据字典。 2、完成数据库信息要求和关系数据模型设计 使用E-R图表示对数据库中要存储的信息及语义进行详细描述,对数据约束和数据之间的关联进行

详细描述。详细描述系统需要的基本表及属性、视图和索引,对基本表的主码、候选码、外码及被参照表进行说明,对基本表中数据的约束条件进行说明。 3、完成数据库的操作和应用要求报告 在数据库的操作和应用要求报告中,详细描述数据库的数据操作要求、处理方法和处理流程,画出系统功能模块图。 4、在机器上完成整个数据库的设计。 实 验内容 要求根据周围的实际情况,自选一个自己熟悉的小型数据库应用项目,并深入到应用项目的现实世界中,进行系统分析和数据库设计。例如选择学籍管理系统、图书管理系统、材料管理系统或仓库管理系统等。 实验数据我设计的是车站售票管理系统,主要用于车站日常的票务处理。 一、需求分析 车站售票管理系统 员工 管理 模块 汽车 管理 模块 线路 管理 模块 车票 管理 模块 票务 信息 管理 模块 员 工 信 息 添 加 员 工 信 息 删 除 员 工 信 息 修 改 汽 车 信 息 添 加 汽 车 信 息 修 改 汽 车 信 息 删 除 线 路 信 息 添 加 线 路 信 息 修 改 线 路 信 息 删 除 添 加 车 票 删 除 车 票 查 询 车 票 信 息 购 买 / 预 订 车 票员 工 信 息 查 询 汽 车 信 息 查 询 线 路 信 息 查 询 车 票 信 息 查 询 功能模块图 1.员工管理模块: 员工有两种身份,售票员和系统管理员。系统管理员可以进行系统用户的添加,密码的修改操作,汽车,线路,车票信息的更新等,售票员可以查询以上信息和购买车票等。 2.线路信息管理模块:

同济大学大学计算机access作业答案

同济大学大机access作业 有一个数据库Test-5.mdb,其中有表Teachers和Students,他们的结构如下表所示,请写出有关的SQL命令。 点击下载Test-5.mdb数据库 第一题:在表Teachers中插入一条新的记录: 600001 杨梦女64 1966/04/22 YES 1660 210 要求:日期的格式为#4/22/1966# 答案:分数:10.00 INSERT INTO Teachers (教师号,姓名,性别,年龄,参加工作年月,党员,应发工资,扣除工资) VALUES ("600001","杨梦","女",64,#4/22/1966#,YES,1660,210) 第二题:在表Teachers中删除年龄小于36且性别为“女”的记录。 答案:分数:10.00 DELETE FROM Teachers WHERE 年龄<36 AND 性别="女" 第三题:用对表中工龄超过25年的职工加20%元工资。 答案:分数:10.00 UPDATE Teachers SET 应发工资=应发工资*1.2 WHERE(Year(date())-Year(参加工作年月))>25 第四题:查询1990年之前(包括1990年)参加工作的所有教师的教师号、姓名和实发工资,查询结果按实发工资从高到低排序。 答案:分数:10.00 SELECT 教师号,姓名,(应发工资-扣除工资) AS 实发工资FROM Teachers WHERE YEAR(参加工作年月)<=1990 ORDER BY 应发工资-扣除工资DESC 第五题:查询教师的人数和平均实发工资。请参阅下图(仅供参考)。 答案:分数:10.00 SELECT Count(*)AS 教师人数,AVG(应发工资-扣除工资) AS 实发工资 FROM Teachers 第六题:查询男女职工的最低工资、最高工资和平均工资(工资是指实发工资)。请参阅下图(仅供参考)。

数据库实验报告六_存储过程

HUNAN UNIVERSITY 数据库 实验报告 学生姓名 学生学号 专业班级 指导老师 2017 年5月24日

SELECT COUNT(*)INTO more90 FROM sc WHERE cno = countcno AND grade >= 90; /*将结果存入新表sumScore中*/ create table sumScore( scorestage char(10), number smallint); insert into sumScore values('x<60', less60); insert into sumScore values('60<=x<70', b60a70); insert into sumScore values('70<=x<80', b70a80); insert into sumScore values('80<=x<90', b80a90); insert into sumScore values('x>=90', more90); END$$ call sumScore(); /*调用上述存储过程*/ 首先创建存储过程,然后再调用存储过程。结果如下: (上述结果图截自Navicat软件) 可以看到,在stuinfo中新建了一个基本表sumscore,表中内容是数学课程成绩的各分数段的人数。 2、统计任意一门课的平均成绩。 代码如下: DELIMITER $$ CREATE PROCEDURE `scoreAvg`() BEGIN declare curname char(40) default null; /*临时存放课程名*/ declare curcno char(4) default null; /*临时存放课程号*/ declare curavg float; /*临时存放平均成绩*/ declare mycursor cursor for /*定义游标*/ select cno, cname from course;

同济大学数据库实验5答案

create proc procA as select* from student exec proca create proc procB @_year char(4) as select* from student where year(birthday )=@_year declare @_year char(4) set @_year ='1994' exec procB@_year create proc procf @_Snum char(30) as select s.snum ,avg(score)as平均成绩,count(https://www.360docs.net/doc/20263045.html,um)as选秀门数,sum(1-score/60)as不及格门数 from student s,course c,sc,sections st where s.snum =sc.snum and sc.secnum =st.secnum and https://www.360docs.net/doc/20263045.html,um =https://www.360docs.net/doc/20263045.html,um and S.Snum =@_Snum group by S.Snum DECLARE @_SUNM char(30) set @_SUNM ='s001' exec procf@_sunm CREATE PROC Procd @_snum char(4),@_avg int out,@_selected_course int out,@_failed_course int out AS SELECT @_avg=AVG(score),@_selected_course=COUNT(cnum),@_failed_course=sum(1-score/60) FROM sc JOIN sections ON sc.secnum =sections.secnum WHERE snum=@_snum

云南大学-实验六-数据库完整性报告

云南大学软件学院 实验报告 课程:数据库原理与实用技术实验任课教师:刘宇、张璇 姓名:学号:专业:信息安全成绩: 实验6 数据库完整性 实验6-1 完整性约束 1、创建规则(用图形或者语句方法创建) (1)创建入学日期规则“Enter_University_date_rule”,假定该学校于1923年4月30日创建。要求:入学日期必须大于等于学校创建日期,并且小于等于当前日期 测试: (2)创建学生年龄规则“Age_rule”。要求:学生年龄必须在15~30岁之间

测试: (3)创建学生性别规则“Sex_rule”。要求:性别只能为“男”或“女” 测试:

(4)创建学生成绩规则“Score_rule”。要求:学生成绩只能在0~100之间 (5)用图形方法查看学生成绩规则“Score_rule”,截图为: 双击:成绩: (6)用语句方法查看学生成绩规则“Score_rule”,语句为:

2、删除规则Enter_University_date_rule 3、创建默认(用图形或者语句方法创建) (1)创建默认时间“Time_default”为当前系统时间 (2)创建默认入学年龄“Age_default”为18岁 (3)用图形方法查看默认入学年龄“Age_default”,截图为:

(4)用语句方法查看默认入学年龄“Age_default”,语句为: 4、删除默认入学年龄“Age_default” 5、创建声明式默认:在创建表的过程中创建声明式默认 (1)创建表“default_example”,表中包含字段pid、name、sex、age。要求设定sex的默认值为“男”、age的默认值为18。 编号姓名性别年龄 101 苏晴女 201 马拯山20 执行结果为: 输入数据:

数据库实验六

6 综合型实验项目索引和数据完整性 匹配课程代码及名称:070785,数据库应用设计 适用专业及本项目实验学时:计算机科学与技术专升本,6学时 一、实验目的及要求 (1)掌握索引的使用方法; (2)掌握索引的设计与实现方法。 (3)掌握数据完整性的类型; (4)掌握数据完整性的实现方法。 二、实验内容 在已建好的YGGL数据库中,设计并创建索引,并进行索引的重建、删除操作。提交程序源代码(电子版,1周内)和实验报告(纸制、1周内)。三、实验条件及设备要求 已安装SQL Server 2008数据库管理系统的实验机。 四、实验相关知识点 数据库实体完整性、索引。 五、实验实施步骤 (一)建立索引 1、对YGGL数据库的Employees表中的DepartmentID列建立索引。 createindex depart_ind on Employees(DepartmentID)

2、在Employees表的Name列和Address列上建立复合索引。 create index ad_ind on Employees(Name,Address) 3、对Departments表上的DepartmentName列建立唯一非聚集索引。 go create unique index dep_ind on Departments(DepartmentName) go (二)重建索引 1、重建表Employees中的所有索引。 alter index all on Employees rebuild

(三)删除索引。 1、使用DROP INDEX语句删除表Employees上的索引Depart_ind。 drop index Depart_ind on Employees 2、使用DROP INDEX一次删除Employees表上的多个索引。 go drop index Departments.Dep_ind,Employees.Ad_ind go (四)数据完整性操作 1、创建一个表Employees5,只含EmployeesID,Name,Sex和Education列。将Name,设为主键,作为列Name的约束。对EmployeesID列进行UNIQUE约束,并作为表的约束。 create table Employees5( EmployeesID char(6)not null, Name char(10)not null primary key, Sex tinyint,

6实验六-数据库完整性

实验报告书 课程名《数据库原理与应用A 》题目:数据库完整性 班级: 学号: 姓名:

1、实验内容或题目 数据库完整性 2、实验目的与要求 (1)掌握sql server 2005 数据库完整性的机理,理解并掌握约束。 (2)进行实验操作。 3、实验步骤与源程序 ⑴实验步骤 掌握Sql server 2005基本语句的使用,主要是PRIMARY KEY约束、FOREIGN KEY约束、UNIQUE 约束、CHECK约束、NOT NULL。 练习Sql server 2005基本语句的使用。 完成实验报告。 ⑵编写源代码 SQLQuery1(例13.1,在test数据库中创建department表,其中指定dno为主键): use test go create table department ( dno int primary key, dname char(20), ) go SQLQuery2(例13.2,使用FOREIGN KEY子句进行相关操作): use test go create table worker (no int primary key, name char(8), sex char(2), dno int foreign key references department(dno) on delete no action, address char(30) )

go SQLQuery3(例13.3,在test数据库中创建table5表,其中指定c1列不能包含重复的值): use test go create table table5 ( c1 int unique, c2 int ) go insert table5 values(1,100) go /*插入下一行,则会出现错误消息*/ insert table5 values(1,200) SQLQuery4(例13.4,在test数据库中创建table6表,其中使用CHECK约束限定f2列为0-100分): use test go create table table6 ( f1 int, f2 int not null check(f2>=0 and f2<=100) ) go /*插入下一行,则会出现错误消息*/ insert table6 values(1,120) SQLQuery5(例13.5,在test数据库中创建table7表,其主键为c1和c2,将其中插入两个记录,输出这些记录): use test go create table table7 ( c1 int, c2 int, c3 char(5), c4 char(10), constraint c1 primary key(c1,c2) ) go use test insert table7 values(1,2,'ABC1','XYZ1') insert table7 values(1,2,'ABC2','XYZ2') go select*from table7 go

大学生数据库实验课实验六报告

《数据库技术及应用》实验六、SQL数据查询语言 DQL 学生姓名 学生班级 学生学号 指导老师

一.实验内容 本次实验用于了解SQL语言的SELECT语句对数据的查询,学会在Navicat for MySQL中用SELECT语句对表中的数据进行简单查询、连接查询、嵌套查询和组合查询。 实验步骤:执行以下内容 1. 启动Navicat for MySQL,登录到本地数据库服务器后,连接到test数据库上。 用Create Table建立Student表、Course表和Choose表: (建表语句并非本次重点略) 2.用INSERT语句分别向Student表中插入3个元组、Course表中插入3个元组、Choose表中插入7个元组:

1中的截图就是已经运行这些语句后截图的结果。。 3. 用SELECT语句,查询计算机学院学生的学号和姓名。 4.用between…and…表示查询条件,查询年龄在20~23岁的学生信息。

5. 用SELECT语句的COUNT()聚集函数,统计Student表中学生总人数。 6.用SELECT语句的max()、min()、sum()、avg()四个聚集函数,计算Choose 表中C1课程的最高分、最低分、总分、平均分。 7.用SELECT语句对空值(NULL)的判断条件,查询Course表中先修课称编号为空值的课程编号和课程名称。 8. 查询学生的学号、姓名、选修的课程名及成绩。 9.用SELECT的存在量词EXISTS,查询与“张三”在同一个学院学习的学生信息。 10.用SELECT语句的嵌套查询,查询选修C1课程的成绩低于“张三”的学生的

同济大学 计算机网络实验报告

同济大学电子与信息工程学院实验报告 实验课程名称:计算机通信网络 任课教师: 实验项目名称:跨交换机实现VLAN 实验项目名称:静态路由 实验项目名称: OSPF单区域 姓名: 学号: 姓名: 学号: 姓名: 学号: 实验地点:

实验名称:跨交换机实现VLAN 【实验名称】 跨交换机实现VLAN。 【实验目的】 理解跨交换机之间VLAN的特点。 【背景描述】 假设某企业有两个主要部门:销售部和技术部,其中销售部门的个人计算机系统分散连接,他们之间需要相互进行通信,但为了数据安全起见,销售部和技术部需要进行相互隔离,现要在交换机上做适当配置来实现这一目标。 【技术原理】 Tag Vlan是基于交换机端口的另外一种类型,主要用于实现跨交换机的相同VLAN内主机之间可以直接访问,同时对于不同VLAN的主机进行隔离。Tag Vlan遵循了IEEE802.1q 协议的标准。在利用配置了Tag Vlan的接口进行数据传输时,需要在数据帧内添加4个字节的802.1q标签信息,用于标识该数据帧属于哪个VLAN,以便于对端交换机接收到数据帧后进行准确的过滤。 【实现功能】 使在同一VLAN里的计算机系统能跨交换机进行相互通信,而在不同VLAN里的计算机系统不能进行相互通信。 【实验设备】 S2126G(两台)、主机(3台)、直连线(4条) 【实验拓扑】 【实验步骤】 步骤1:在交换机SwitchA上创建Vlan 10,并将0/5端口划分到Vlan 10中。 SwitchA # configure terminal !进入全局配置模式。 SwitchA(config)# vlan 10 !创建Vlan 10。 SwitchA(config-vlan)# name sales !将Vlan 10命名为sales。 SwitchA(config-vlan)#exit SwitchA(config)#interface fastethernet 0/5 !进入接口配置模式。 SwitchA(config-if)#switchport access vlan 10 !将0/5端口划分到Vlan 10。 验证测试:验证已创建了Vlan 10,并将0/5端口已划分到Vlan 10中。

同济大学数据库实验八

一、实验目的 1.掌握https://www.360docs.net/doc/20263045.html,的数据库访问方法。 2.学习绑定对象的操作方法。 二、实验内容 (实验题目+运行界面截图+实现代码) 方法一代码:(注:红色字体为输入的代码) Imports System.Data.SqlClient Public Class Form1 Inherits System.Windows.Forms.Form Public mybind As BindingManagerBase Private Sub StudentBindingNavigatorSaveItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles StudentBindingNavigatorSaveItem.Click Me.Validate() Me.StudentBindingSource.EndEdit() Me.TableAdapterManager.UpdateAll(Me.UniversityDataSet) End Sub Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 'TODO: 这行代码将数据加载到表“UniversityDataSet.student”中。您可以根据需要移动或移除它。 Me.StudentTableAdapter.Fill(Me.UniversityDataSet.student) mybind = Me.BindingContext(StudentBindingSource) End Sub

数据库试验3答案

实验三:交互式SQL语句的使用 1、实验目的 (1)掌握数据库对象的操作过程,包括创建、修改、删除 (2)熟悉表的各种操作,包括插入、修改、删除、查询 (3)熟练掌握常用SQL语句的基本语法 2、实验平台 使用SQL Server提供的Microsoft SQL Server Management Studio工具,交互式使用SQL语句。 3 实验内容及要求 选择如下一个应用背景之一: 学生选课系统?习题3、4、和5中使用的数据库?其它你熟悉的应用?。)建立一个数据库和相关的表、索引、视图等数据库对象,练习对表、索引和视图的各种操作1((2)要求认真进行实验,记录各实验用例及执行结果。 (3)深入了解各个操作的功能。 实验要求包括如下方面的内容:3.1 数据定义 1.基本表的创建、修改及删除 2.索引的创建 3.视图的创建 3.2 数据操作 完成各类更新操作包括: 1.插入数据 2.修改数据 3. 删除数据 3.3 数据查询操作 完成各类查询操作 1.单表查询 2.分组统计 3. 连接查询 4. 嵌套查询 5. 集合查询 3.4 数据操作 1.创建视图 2.视图查询 参考示例:

建立一个学生选课数据库,练习对表、视图和索引等数据库对象的各种操作。数据定义一、创建学生选课数据库ST,包括三个基本表,其中Student表保存学生基本信息,Course表保存课程信息,SC表保存学生选课信息,其结构如下表: 表1. Student表结构 列名用类长约备 主字学Sn 字姓Snam 字符2性别Ssex 整型年龄Sage 字符20Sdept所在系字符4Sclass班级 表2. Course表结构 1.创建、修改及删除基本表(1Student表)创建Student TABLE CREATE, CHAR (Sno(8)PRIMARY KEY8 Sname CHAR(), NOT NULL,)Ssex CHAR(2 ,Sage INT CHAR(20)Sdept); )创建Course表(2Course TABLECREATE (Cno KEY PRIMARY,)CHAR(4NOT(Cname CHAR40)NULL, 4(), CHAR Cpno SMALLINT,Ccredit); (表SC3)创建SC CREATETABLE 8CHAR Sno(()FOREIGNKEY Student Sno(),REFERENCES)(Sno Cno 4(CHAR), Grade,SMALLINT); 4()创建员工表Employee

相关文档
最新文档