注:接实验一 

目录

一、实验名称

二、实验目的

三、实验内容

四、实验任务及结果


一、实验名称

数据库的建立和维护

二、实验目的

熟悉 SQL 的数据定义语言,熟练掌握使用 T-SQL 和 SQL Server Management Studio 向数 3 据库输入数据、修改数据和删除数据的操作。

三、实验内容

1)向数据库中录入、修改、删除数据。

2)熟悉 SQL Server Management Studio 管理工具和 Query Analyzer 工具的建立和维护数据         库的方法。

四、实验任务及结果

1.使用 T-SQL 实现学生选课数据库的如下操作:

1)向学生选课数据库中的每个基本表中录入若干条记录,要求记录满足基本表定义的约束条件。(学生、课程和选课表中各录入 10 条以上记录)。

use XSXK
go
insert into student(sno,sname,ssex,sage,sdept,stel)
values
('D001','张三','男',19,'数计','15877485631'),
('D002','李四','男',20,'化学','12345617904'),
('D003','王五','男',20,'管理','12345087904'),
('D004','王华','男',19,'数计','12345787904'),
('D005','李明','男',20,'马院','12345647904'),
('D006','钱欣','女',19,'材料','12345697904'),
('D007','王朝','男',22,'生工','12345347904'),
('D008','李茜','女',21,'管理','12345687904'),
('D009','马汉','男',20,'数计','12345687904'),
('D010','赵虎','男',22,'管理','12345687904'),
('D011','刘辰','女',20,'管理','12456759321'),
('D012','张恬','男',19,'数计','15774465631'),
('D013','严辉','男',19,'管理','15077455631')
go
insert into Course
values('JS001','高数1','4','','贾伟'),
('JS002','C语言','4','','李军'),
('JS003','英语','4','',''),
('JS004','管理学','3','','钟学友'),
('JS005','线性代数','3','','赵春婕'),
('JS006','高数2','4','JS001','贾伟'),
('JS007','体育','3','','黄荣'),
('JS008','马原','3','JS018','袁景衡'),
('JS009','离散数学','2','','鲁秋菊'),
('JS010','计算机网络原理','2','','周军'),
('JS011','JAVA基础','4','JS002','任民宏'),
('JS012','概率论','3','JS006',''),
('JS013','操作系统','2','','李征'),
('JS014','数据结构','3','JS002','李婧'),
('JS015','信息分析','2','','郭天印'),
('JS016','数据库原理及应用','3','','肖海蓉'),
('JS017','JAVA EE','3','JS011','任民宏'),
('JS018','思修','3','','')
go
insert into SC
values
('D001','JS002',70),
('D001','JS001',50),
('D012','JS011',40),
('D012','JS016',90),
('D002','JS001',80),
('D003','JS004',60),
('D002','JS003',70),
('D004','JS013',76),
('D006','JS006',40),
('D001','JS012',55),
('D001','JS013',85),
('D005','JS008',39),
('D006','JS001',90),
('D001','JS017',60),
('D008','JS004',40),
('D002','JS014',70),
('D009','JS014',60),
('D001','JS015',40),
('D007','JS001',78),
('D007','JS006',92),
('D011','JS004',88),
('D011','JS015',56),
('D006','JS005',75),
('D011','JS010',40),
('D013','JS004',78),
('D012','JS017',67),
('D009','JS007',49),
('D013','JS006',80),
('D011','JS001',70),
('D007','JS018',50),
('D002','JS008',66),
('D008','JS015',60),
('D009','JS005',70),
('D003','JS012',59),
('D009','JS009',34),
('D013','JS012',80)
go

2)通过 Query Analyzer 实现对学生选课数据库的数据增加、数据删除和数据修改操作。

(1)对于每个学生,求学生的选课门数和平均成绩,并把结果存入学生选课数据库中。

方法一:

create table Ssum(
  sno  char(10) primary key not null,
   cnumber smallint ,
   caverage smallint
  )

go
insert into Ssum
select student.sno,cnumber,caverage
from select sno,COUNT(*) as cnumber,AVG( grade ) as caverage
              from SC
              group by sno)  as X
where student.sno = x.sno
go

方法二:

create table Ssum(
  sno  char(10) primary key not null,
   cnumber smallint ,
   caverage smallint
  )

go
insert into Ssum
select sno,cnumber = COUNT(*), caverage = AVG( grade ) 
from SC
group by sno

go

(2)将数据库原理与应用课程的学分修改为 4。
update Course
set ccredit = 4
where cname = '数据库原理及应用' 
go

    (3)将姓名为“王华”的学生选修数据库原理及应用课程的成绩增加 5 分。

update SC
set grade = grade + 5
where sno in (select sno
             from student
            where sname = '张恬')  and cno in (select cno
                                       from Course
                                       where cname = '数据库原理及应用' )
go

(4)删除选课表中成绩低于 40 分的记录。

delete 
from SC
where grade < 40
go

(5)删除学号为 180001 的学生记录,并讨论该删除操作所受到的约束。

delete 
from student
where sno = 'D001'

go
DELETE 语句与 REFERENCE 约束"FK__SC__sno"冲突。该冲突发生于数据库"XSXK",表"dbo.SC", column 'sno'。
delete 
from SC
where sno = 'D001'
go
delete 
from student
where sno = 'D001'

go
我们不能直接对student中的学号进行删除操作,我们只有对SC表进行删除操作后,才能对student表进行删除,从这里可以看出数据库的参照完整性。

注:可以设置级联,执行一次delete语句可以对其进行删除

(6)删除所有选修课程“JAVA”的选课记录。

delete 
from SC
where cno in (select cno
             from Course
             where cname = 'JAVA基础')
go
delete 
from Course
where cname = 'JAVA基础'

go

(7)将管理学院全体学生的成绩置为空。

update SC
set grade = null
where sno in (select sno
             from student
             where sdept = '管理')

go

(8)删除学生李萍的所有选课记录。

delete 
from SC
where sno in (select sno
             from student
            where sname = '王五')
go

实验二、数据库的建立和维护相关推荐

  1. 实验三 mysql数据库与表的创建_实验二 数据库和表的创建与管理

    实验二 数据库和表的创建与管理 创建用于企业管理的员工管理数据库,数据库名为YGGL中,YGGL数据库中包括三个表:Employees(员工信息表).Departments(部门信息表).Salary ...

  2. 数据库实验2:数据库的建立与维护

    2.3.1数据表的操作 1.建立数据库 1.create table <表名> ( <列名1><类型>[约束子句][, <列名2><类型>[ ...

  3. 实验二-----数据库

    一.实验目的 1.掌握SQL Server Management Studio中以SQL 命令方式和以向导方式操作表和数据的操作: 2.掌握SQL 的数据定义命令,包括:定义表.删除表和修改表: 3. ...

  4. 求数学系或计算机系姓张的学生的信息,实验二数据库的简单查询和连接查询.docx...

    贵州大学实验报告 学院:计算机科学与信息学院 专业:信息安全 班级: 姓名 学号 实验组 实验时间 指导教师 成绩 实验项目名称 数据库的简单查询和连接查询 实验目的 使学生掌握SQL Server ...

  5. 数据库的定义、建立和维护

    数据库的定义.建立和维护 一.实验目的 定义.建立.维护数据库 二.实验内容 1.E-R 图 及简单说明 2.创建数据库.基本表和修改基本表结构的方法: 3.向数据库表中输入数据.修改数据和删除数据 ...

  6. MySQL查询实验报告_SQL实验二:数据库查询实验报告

    实验二 数据库的查询实验 一. 实验目的和要求 (1)掌握SQL Server查询分析器的使用方法,加深对SQL和Transact-SQL语言的查询语句的理解. (2)熟练掌握简单表的数据查询.数据排 ...

  7. MySQL 数据库实验二

    课题 :实验二 数据库和表的管理* 目的要求 : 1. 了解MySQL数据库的逻辑结构和物理结构的特点. 2. 学会使用SQL语句创建.选择.删除数据库. 3. 学会使用SQL语句创建.修改.删除表. ...

  8. mysql数据完整性实验报告,数据库原理实验报告(Mysql)

    图5 course表 图6 sc表 图7 course的约束条件 图8 sc的约束条件 3.利用命令方式建表: (1).单击"查询",然后点击"新建查询",在弹 ...

  9. ORACLE与数据库原理实验 实验二 实验数据库的建立(答案全)

    实验二 实验数据库的建立 [实验目的] [预备知识] [实验内容] [实验目的] 1. 熟悉和掌握 SQL的 Create Table, Drop Table, Alter Table语句语法: 2. ...

最新文章

  1. oracle11g的安装
  2. Python 基础三:基础数据类型和字符串的常用函数操作
  3. careercup-C和C++ 13.2
  4. Android 改变AlertDialog的大小
  5. Split和正则表达式的区别
  6. 将数组前n个和后m-n个整体逆置的实现
  7. android usb弹窗权限r,Android USB权限对话框永远不会出现
  8. MongoDB简单概述
  9. 导轮式机器人_轮式移动机器人导航控制与路径规划研究
  10. 《jQuery UI 开发指南》——2.3 tabs ()方法
  11. 关于redis启动流程介绍
  12. hmcl手机版_hmcl启动器app下载
  13. 基于体素的全局光照技术
  14. 免费的网络验证系统插件
  15. Oracle执行计划使用分析SQL执行效率
  16. 连接跟踪子系统之helper
  17. 焊接知识与技能(嵌入式硬件篇)
  18. 大头贴边框html,给照片加个艺术边框 用啥软件帮你忙?
  19. 服务器安装操作系统失败,安装程序配置服务器失败怎么办
  20. NameNode概述

热门文章

  1. cocos2d-x 3.0游戏实例学习笔记《卡牌塔防》第三步---编辑器(2)---更方便很多其它操作更像编辑器...
  2. 何晓理(风过无痕)-从85年开始的学习经历
  3. so动态库生成、链接方法
  4. java h264 sps解码,H264 SPS解析
  5. IDEA设置Working directory及作用
  6. k8s删除node节点
  7. 【点云处理之论文狂读前沿版7】—— Masked Autoencoders for Point Cloud Self-supervised Learning
  8. spring+springboot认识
  9. SpringMVC(JSON数据转换,乱码问题)
  10. 病毒无孔不入:电邮一打开病毒自然来(转)