1.1使用SQL Server工具(Microsoft SQL Server Management Studio Express)管理数据库

(1) 加入jwgl(教务管理)数据库。

create database jwgl

(2) 建立student 、course、sc 表。

use jwgl
-- 创建student表
create table student(SNO char(10) not null,SNAME char(20) UNIQUE,SSEX char(2),SAGE smallint,SDEPART char(20)
)-- 创建course表
create table course(CNO char(4) PRIMARY KEY,CNAME char(40) not null,CPNO char(4),CCREDIT smallint,foreign key(CPNO) references course(CNO)
)-- 创建sc表
create table sc(SNO char(10),CNO char(4),GRADE smallint,primary key(SNO,CNO),foreign key(SNO) references student(SNO),foreign key(CNO) references course(CNO)
)

(3) 在数据库中建立学生基本信息表student(SNO,SNAME,SSEX,SAGE , SDEPART )。更改表设置SNO为主键,增加属性Ptype(类型是CHAR,长度是10)。

-- 为student表中的SNO添加主键
alter table student add primary key(SNO)
-- 为student表添加一个属性Ptype,数值类型为char
alter table student add Ptype char(10)
-- 修改student表中的SSEX属性的数值类型长度为9
alter table student alter column SSEX char(9)

(4)在建立的表中录入数据;再修改第二条记录;删除第二条记录。

-- 为student表添加两条记录
insert student(SNO,SNAME,SSEX,SAGE,SDEPART,Ptype) values('20220101','Mary','female','19','CS','145')
insert student(SNO,SNAME,SSEX,SAGE,SDEPART,Ptype) values('20220102','Tom','male','21','IS','121')

-- 修改第二条记录
select * from student where SNO = '20220102'

update student
set SDEPART = 'CS'
where SNO = '20220102'

(5) 备份数据库。

BACKUP DATABASE jwgl
TO DISK='E:\ClassesNotes\DatabaseExperiment\Demo\jwgl.bak'

(6) 删除表student。

drop table studentselect fk.name,fk.object_id,OBJECT_NAME(fk.parent_object_id) as referenceTableName
from sys.foreign_keys as fk
join sys.objects as o on fk.referenced_object_id=o.object_id
where o.name='student'ALTER TABLE sc DROP CONSTRAINT FK__sc__SNO__1B0907CE

(7) 恢复jwgl数据库。

RESTORE DATABASE jwgl
FROM DISK='E:\ClassesNotes\DatabaseExperiment\Demo\jwgl.bak'
WITH
MOVE 'jwgl' TO 'D:\SqlServer2014\Root\MSSQL12.MSSQLSERVER\MSSQL\DATA\jwgl.mdf',
MOVE 'jwgl_log' TO 'D:\SqlServer2014\Root\MSSQL12.MSSQLSERVER\MSSQL\DATA\jwgl_log.ldf',
STATS = 10,REPLACE

(8) 分离jwgl数据库。

EXEC sp_detach_db @dbname = 'jwgl'

(9) 附加jwgl数据库。

EXEC sp_attach_db @dbname = 'jwgl', @filename1 = 'D:\SqlServer2014\Root\MSSQL12.MSSQLSERVER\MSSQL\DATA\jwgl.mdf',@filename2= 'D:\SqlServer2014\Root\MSSQL12.MSSQLSERVER\MSSQL\DATA\jwgl_log.ldf'

(10) 删除Test数据库。

create database Test
drop database Test

1.2 数据定义

(1) 使用SQL语句创建关系数据库表:学生基本信息表student、课程表course、课程选修表sc。其中:sno是表student的主键,具有唯一性的约束;sage具有约束“大于18”,ssex,只能是男或女;cno是表course的主键,具有唯一性约束。表sc中的sno cno是外键。

-- 创建数据库SDB
create database SDB
use SDB
-- 创建三张表student,course,sc
create table student(sno char(9) primary key,sname char(20) not null,ssex char(2) check(ssex = '男' or ssex = '女'),sage smallint check (sage > 18),sdept char(40)
)
insert into student(sno,sname,ssex,sage,sdept) values ('20119023','王志刚','男',20,'CS')
insert into student(sno,sname,ssex,sage,sdept) values ('20119029','张国伟','男',29,'IS')
insert into student(sno,sname,ssex,sage,sdept) values ('20119030','王芳','女',32,'CS')
insert into student(sno,sname,ssex,sage,sdept) values ('20119031','Test','女',29,'CS')
insert into student(sno,sname,ssex,sage,sdept) values ('20119032','Test1','女',12,'CS')select * from student
create table course(cno char(10) primary key,cname char(20) not null,ccredit smallint
)create table sc(sno char(9),cno char(10),grade smallint,primary key(sno,cno),foreign key(sno) references student(sno),foreign key(cno) references course(cno)
)

(2) 更改表student增加属性lxfs(联系方式)(类型是CHAR,长度是10),取消sage大于18的约束。把表ROOM中的属性lxfs数据长度改成15。

-- (2) 更改表student增加属性lxfs(联系方式)(类型是CHAR,长度是10),
alter table student add  lxfs char(10)
-- 取消sage大于18的约束。把表ROOM中的属性lxfs数据长度改成15。
alter table student nocheck constraint CK__student__sage__117F9D94
select * from student
-- 查询约束
sp_helpconstraint studentcreate table ROOM(rno char(9),lxfs char(10),foreign key(rno) references student(sno)
)alter table ROOM alter column lxfs char(15)

(3) 删除表course中的一个属性。

-- (3) 删除表course中的一个属性。
select * from course
alter table course drop column ccredit

(4) 取消表sc的外键。

-- (4) 取消表sc的外键。
sp_helpconstraint sc
alter table sc drop constraint FK__sc__cno__173876EA
alter table sc drop constraint FK__sc__sno__164452B1
alter table sc drop constraint PK__sc__905C0533346139CC

(5) 为表course创建按cno降序排列的索引。

-- (5) 为表course创建按cno降序排列的索引。
create index coucno on course(cno asc)
drop index  coucno on course

(6) 为表student创建按sno升序排列的索引。

-- (6) 为表student创建按sno升序排列的索引。
create index stusno on student(sno desc)
drop index stusno on student

(7) 创建表student的按sname升序排列的唯一性索引。

-- (7) 创建表student的按sname升序排列的唯一性索引。
create unique index stuname on student(sname asc)

(8) 取消表PERSON的P#升序索引。

-- (8) 取消表PERSON的P#升序索引。
create table PRESON(P# smallint primary key
)
create index PERP# on PRESON(P# asc)
drop index PERP# on PRESON

记一次数据库实验 -- 数据库的基本使用相关推荐

  1. 数据库实验--数据库安全性的管理

    一.实验目的及要求 1. 掌握 SQL Server 身份验证模式. 2. 掌握创建登录账户.数据库用户的方法. 3. 掌握使用角色实现数据库安全性的方法. 4. 掌握权限的分配. 二.实验环境 硬件 ...

  2. 数据库实验——数据库数据更新及查询

    在保证需操作的数据库中已经存在XSKC模式下的数据表student.course.sc 1.修改数据表信息 1)修改student表,将cs系姓名为"李咏"的学生姓名为" ...

  3. [数据库实验]数据库备份与恢复

    数据库备份 物理备份:复制数据库物理文件 逻辑备份:将数据库对象的定义和数据导出到指定文件 增量备份:只备份上次备份以来有变化的数据 完全备份:备份整个数据库 MYSQL保证数据安全的方法 数据库备份 ...

  4. 数据库实验2 数据库安全性定义与检查

    前言:记得验收时问了一个问题吧,就是用户和角色的区别是什么 实验2.1自主存取控制实验 1.实验目的 掌握自主存取控制权限的定义和维护方法. 2.实验内容和要求 定义用户.角色,分配权限给用户.角色, ...

  5. 数据库实验一 在SQL Server 中创建数据库

    一.实验内容 1.创建数据库和查看数据库属性. 2.创建表.确定表的主码 3.查看和修改表结构. 4,具体内容 (1)使用SQL语句按教材中的内容建立学生数据库. (2)查看学生数据库的属性,并进行修 ...

  6. 记录一次实验-华科20年秋季数据库实验(小课设)

    华科20年秋季数据库实验(小课设) 记一次实验 -- VS2019 + Microsoft SQL Server 2019 + C++ 首先,本实验基于你已会基本的数据库操作,SQL语句,准备写一个类 ...

  7. 【BIT数据库实验】openGauss数据库实验一:建立数据库

    参考文档: 本实验的准备步骤较为繁多,而opengauss官方提供的文档较为零散,因此这个实验对于所需的文档进行整合,只需要观看这个博客就可以完成所有的实验内容: openGauss v2.0.0: ...

  8. 合肥工业大学—SQL Server数据库实验四:数据库的分离和附加

    数据库的分离和附加 1. 数据库分离 2. 数据库附加 1. 数据库分离 当SQL Server服务器运行时,该服务器上所有的数据库自动处于运行状态,而运行中的数据库文件是无法进行数据库文件的拷贝的. ...

  9. 数据库实验:数据库和表、查询、视图与安全性、存储过程及游标、触发器、综合实验-水果商店进阶

    数据库实验:数据库和表.查询.视图与安全性.存储过程及游标.触发器.综合实验-水果商店进阶 实验一.数据库和表 源码1: 源码2: 小结 实验二.查询 源码 小结 实验三.视图.安全性 源码: 小结 ...

最新文章

  1. html类名的作用,bootstrap类名及作用(部分)
  2. 【云图】一键生成连锁店品牌地图
  3. word公式插件_添加office小插件,让办公更高效
  4. 在线生成文本图片 CFC函数计算版
  5. Linux基础(10)--管理文件和目录
  6. Get Network Utilization
  7. BitComet(比特彗星) BT磁力链下载推荐
  8. QQ游戏连连看的脚本
  9. Web前端:前12个易于Web开发的前端开发工具
  10. Activiti7的用法和简述
  11. 使用阿里云Maven仓库
  12. matlab 图形对称,Matlab关于直线为轴对称与点为中心对称的图形代码
  13. matlab 双曲线拟合,利用MATLAB进行logistic曲线拟合
  14. [编程神域 C语言浮游塔 第①期] Hello C language world
  15. 交易思想之顺大势逆小势
  16. bootstrap实现网页手风琴--博客园老牛大讲堂
  17. 租船题库整理 - 简答题、论述题
  18. linux 面试答题
  19. 这些10款优秀的交互设计软件,你知道吗?
  20. ThingsBoard源码分析-Actor模型

热门文章

  1. 高中数学函数解题方法:函数的单调性与最值(高考题)
  2. 全国程序员工资新统计,“高危”行业就这收入?
  3. 关键字abstract
  4. c# ToolStrip控件图片和文字显示
  5. python_猜拳游戏
  6. SoC-按键控制led
  7. js 十六进制转换二进制 二进制转十六进制 异或算法
  8. (一) 模式识别入门
  9. 中国优秀的架构师是不是出现了严重断层?
  10. XLNet: Generalized Autoregressive Pretraining for Language Understanding翻译