SQL Server 数据库实验报告

​​​​​​​

1.1 实验题目:索引和数据完整性的使用

1.2 实验目的:

(1)掌握SQL Server的资源管理器界面应用;

(2)掌握索引的使用;

(3)掌握数据完整性的使用。

1.3 实验准备

(1)了解SQL Server的索引基本语法;

(2)了解SQL Server的数据完整性。

1.4 实验内容

1.4.1 建立索引

(1)使用CREATE INDEX语句创建索引

①对数据库中的Employees表中的DepartmentID建立索引。

USE Hao  
GO  
CREATE INDEX depart_ind  
ON Employees(DepartmentID)  
GO  

②在Employees表的Name列和Address列上建立复合索引。

CREATE INDEX Ad_ind  
ON Employees(Name, Address) 

③对Departments表上的DepartmentName列建立唯一非聚集索引。

CREATE UNIQUE INDEX Dep_ind   
ON Departments(DepartmentName)  

1.4.2 重建索引

重建表Employees中的所有索引。

USE Hao  
GO  
ALTER INDEX ALL  
ON Employees REBUILD 

1.4.3 删除索引

使用DROP INDEX语句删除表Employees表上的多个索引。

DROP INDEX depart_ind ON Employees  

1.4.4 完整性

(1)创建一个表Employees5,只含EmployeeID、Name、Sex和Education列。将Name设为主键,作为列Name的约束。对EmployeeID列进行UNIQUE约束,并作为表的约束。

CREATE TABLE Employees5  
(  EmployeesID       char(6) NOT NULL,  Name              char(10) NOT NULL PRIMARY KEY,  Sex tinyint,  Education         char(4),  CONSTRAINT UK_id UNIQUE(EmployeesID)  
)  

(2)删除上例中创建的UNIQUE约束。

ALTER TABLE Employees5  
DROP CONSTRAINT UK_id  
GO 

(3)创建新表student,只考虑“号码”“性别”两列,性别只能包含男或女。

CREATE TABLE student_1  
(  号码        char(6)      NOT NULL,  性别        char(2)      NOT NULL  CHECK(性别 IN('男','女'))   
)  

(4)创建新表Salary2,结构与Salary相同,但Salary2表不允许OutCone列大雨Income列。

CREATE TABLE Salary2  
(  EmployeeID char(6) NOT NULL,  Income float NOT NULL,  OutCome float NOT NULL,  CHECK(Income>=OutCome)  
)

(5)对数据库中的Employees表进行修改,为其增加“DepartmentID”字段的CHECK约束。

USE Hao  
GO  
ALTER TABLE Employees  
ADD CONSTRAINT depart CHECK(DepartmentID>=1 AND DepartmentID<=5)  

(6)创建一个规则对象,用以限制输入到该规则所绑定列中的值只能是该规则中列出的值。

CREATE RULE list_rule_1  
AS @list IN('财务部','研发部','人力资源部','销售部')  
GO  
EXEC sp_bindrule'list_rule_1','Departments.DepartmentName'  
GO  

(7)创建一个表Salary3,要求所有Salary3表上EmployeeID列的值都要出现在Salary表中,利用参照完整性约束实现,要求当删除或修改Salary表上的EmployeeID列时,Salary3表中的EmployeeID值也会随之变化。

CREATE TABLE Salary3  
(  EmployeeID char(6) NOT NULL PRIMARY KEY,  InCome float NOT NULL,  OutCome float(8) NOT NULL,  FOREIGN KEY(EmployeeID)  REFERENCES Salary(EmployeeID)  ON UPDATE CASCADE  ON DELETE CASCADE  
)  

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/76770.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AI绘画中的LoRa是什么?

Lora是一个多义词&#xff0c;根据不同的上下文可以指代多种事物。以下将详细介绍几种主要的含义&#xff1a; LoRa技术 LoRa&#xff08;Long Range Radio&#xff09;是一种低功耗广域网&#xff08;LPWAN&#xff09;无线通信技术&#xff0c;以其远距离、低功耗和低成本的特…

哈希表(Hashtable)核心知识点详解

1. 基本概念 定义&#xff1a;通过键&#xff08;Key&#xff09;直接访问值&#xff08;Value&#xff09;的数据结构&#xff0c;基于哈希函数将键映射到存储位置。 核心操作&#xff1a; put(key, value)&#xff1a;插入键值对 get(key)&#xff1a;获取键对应的值 remo…

数据流和重定向

1、数据流 不管正确或错误的数据都是默认输出到屏幕上&#xff0c;所以屏幕是混乱的。所以就需要用数据流重定向将这两 条数据分开。数据流重定向可以将标准输出和标准错误输出分别传送到其他的文件或设备去 标准输入&#xff08;standard input&#xff0c;简称stdin&#xff…

详解 MySQL 索引的最左前缀匹配原则

MySQL 的最左前缀匹配原则主要是针对复合索引&#xff08;也称为联合索引&#xff09;而言的。其核心思想是&#xff1a;只有查询条件中包含索引最左侧&#xff08;第一列&#xff09;开始的连续一段列&#xff0c;才能让 MySQL 有效地利用该索引。 一、 复合索引的结构 复合…

MyBatis注解开发增删改查基础篇

本文是MyBatis注解开发的基础篇&#xff0c;将通过实际场景&#xff0c;详细介绍MyBatis注解式开发的使用&#xff0c;这是MyBatis很强大的一个特性&#xff0c;可以直接在接口方法上定义 SQL 语句&#xff0c;从而实现数据库的增删改查操作。 本文目录 一、环境依赖二、创建对…

周末总结(2024/04/05)

工作 人际关系核心实践&#xff1a; 要学会随时回应别人的善意&#xff0c;执行时间控制在5分钟以内 坚持每天早会打招呼 遇到接不住的话题时拉低自己&#xff0c;抬高别人(无阴阳气息) 朋友圈点赞控制在5min以内&#xff0c;职场社交不要放在5min以外 职场的人际关系在面对利…

【HTML】纯前端网页小游戏-戳破彩泡

分享一个简单有趣的网页小游戏 - 彩色泡泡爆破。玩家需要点击屏幕上随机出现的彩色泡泡来得分。 <!DOCTYPE html> <html lang"zh"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-wi…

如何实现单例模式?

一、模式定义与核心价值 单例模式&#xff08;Singleton Pattern&#xff09;是一种创建型设计模式&#xff0c;保证一个类仅有一个实例&#xff0c;并提供全局访问点。其核心价值在于&#xff1a; ​​资源控制​​&#xff1a;避免重复创建消耗性资源&#xff08;如数据库连…

Three.js 系列专题 1:入门与基础

什么是 Three.js? Three.js 是一个基于 WebGL 的 JavaScript 库,它简化了 3D 图形编程,让开发者无需深入了解底层 WebGL API 就能创建复杂的 3D 场景。它广泛应用于网页游戏、可视化、虚拟现实等领域。 学习目标 理解 Three.js 的核心组件:场景(Scene)、相机(Camera)…

蓝桥云客---蓝桥速算

3.蓝桥速算【算法赛】 - 蓝桥云课 问题描述 蓝桥杯大赛最近新增了一项娱乐比赛——口算大赛&#xff0c;目的是测试选手的口算能力。 比赛规则如下&#xff1a; 初始给定一个长度为 N 的数组 A&#xff0c;其中第 i 个数字为 Ai​。随后数组会被隐藏&#xff0c;并进行 Q 次…

Oracle迁移达梦遇中断?试试SQLark的断点续迁功能!

在企业级数据迁移项目中&#xff0c;如果迁移单表数据量超过亿行、占用空间超过100GB时&#xff0c;一旦遇到网络中断或迁移报错&#xff0c;往往需要整表重新迁移&#xff0c;导致效率低下&#xff0c;严重影响项目进度。针对这一痛点&#xff0c;SQLark 支持对 Oracle→DM 的…

【C/C++算法】蓝桥杯之递归算法(如何编写想出递归写法)

绪论&#xff1a;冲击蓝桥杯一起加油&#xff01;&#xff01; 每日激励&#xff1a;“不设限和自我肯定的心态&#xff1a;I can do all things。 — Stephen Curry” 绪论​&#xff1a; ———————— 早关注不迷路&#xff0c;话不多说安全带系好&#xff0c;发车啦&am…

[ctfshow web入门] web5

前置知识 引用博客&#xff1a;phps的利用 当服务器配置了 .phps 文件类型时&#xff0c;访问 .phps 文件会以语法高亮的形式直接显示 PHP 源代码&#xff0c;而不是执行它。.phps被作为辅助开发者的一种功能&#xff0c;开发者可以通过网站上访问xxx.phps直接获取高亮源代码 …

day 8 TIM定时器

一、STM32 定时器概述 1. 定时器的概述定时器的基本功能&#xff0c;但是 STM32 的定时器除了具有定时功能之外&#xff0c;也具有定时器中断功能&#xff0c;还具有输入捕获&#xff08;检测外部信号&#xff09;以及输出比较功能&#xff08;输出不同的脉冲&#xff09;&…

Spring Boot 中使用 Redis:从入门到实战

&#x1f31f; 前言 欢迎来到我的技术小宇宙&#xff01;&#x1f30c; 这里不仅是我记录技术点滴的后花园&#xff0c;也是我分享学习心得和项目经验的乐园。&#x1f4da; 无论你是技术小白还是资深大牛&#xff0c;这里总有一些内容能触动你的好奇心。&#x1f50d; &#x…

hi3516cv610通过menuconfig关闭的宏记录

hi3516cv610通过menuconfig关闭的宏记录 defconfig为 hi3516cv610_debug_defconfig或hi3516cv610_new_defconfig 1、 变为 2、 变为 3、 变为 4、 变为 5、 变为

WebSocket 详解:构建一个复杂的实时聊天应用

文章目录 一、前言二、WebSocket 基础2.1 WebSocket 与 HTTP 的区别2.2 WebSocket 的优点 三、搭建 WebSocket 服务端3.1 安装 ws 和 redis 库3.2 创建 WebSocket 服务端3.3 创建用户身份验证 四、前端实现 WebSocket 客户端4.1 创建 Vue 3 项目4.2 实现 WebSocket 连接和用户注…

【JavaEE进阶】Spring AOP入门

欢迎关注个人主页&#xff1a;逸狼 创造不易&#xff0c;可以点点赞吗 如有错误&#xff0c;欢迎指出~ AOP是Spring框架的第⼆⼤核⼼(第⼀⼤核⼼是 IoC) 什么是AOP&#xff1f; • AspectOrientedProgramming&#xff08;⾯向切⾯编程&#xff09; 什么是⾯向切⾯编程呢? 切…

算法思想之双指针(一)

欢迎拜访&#xff1a;雾里看山-CSDN博客 本篇主题&#xff1a;算法思想之双指针(一) 发布时间&#xff1a;2025.4.4 隶属专栏&#xff1a;算法 目录 双指针算法介绍对撞指针&#xff1a;快慢指针&#xff1a; 例题移动零题目链接题目描述算法思路代码实现 复写零题目链接题目描…

【11408学习记录】英语写作黄金模板+语法全解:用FTC数据泄漏案掌握书信结构与长难句拆解(附思维导图)

2025.04.04 英语写作书信写作第一段私人信件公务信函 语法总结——简单句简单句的核心&#xff1a;谓语动词的变化词性的拓展限定词 形容词与副词介词短语 成分的扩展同位语插入语 非谓语动词 每日一句词汇 第一步&#xff1a;辨别第二步&#xff1a;断开第三步&#xff1a;简化…