​数据库原理及应用上机(实验二 SQL数据定义功能实验)

news2024/11/22 0:58:41

作者:命运之光 
专栏:数据库原理及应用上机实验

 

目录

✨一、实验目的和要求

✨二、实验内容与步骤

✨三、附加练习

✨四、实验总结


🍓🍓前言: 数据库原理及应用上机实验报告的一个简单整理后期还会不断完善🍓🍓


✨一、实验目的和要求

1.掌握利用SQL查询分析器和企业管理器进行数据库及基本表的定义、删除与修改;

2.掌握索引的建立与删除的方法。

✨二、实验内容与步骤

(一)建立数据库

通过企业管理器或查询分析器建立学生-课程数据库xskc。

create database xskc

on

 ( name=xskc_data,

   filename='e:\sjksy\xskc_data.mdf')

log on

 ( name=xskc_log,

   filename='e:\sjksy\xskc_log.ldf')

注:先在E:盘上建立一个文件夹(例如:E:\sjksy),数据库文件保存到自建的文件夹中。

(二)基本表的定义、修改与删除

1.定义基本表

利用查询分析器或企业管理器创建基本表,并输入数据。

例5  建立一个学生表Student。这里要求Sno和Sname不能为空值,且取值唯一。

CREATE TABLE Student                      

    (Sno  CHAR(9) PRIMARY KEY,           /* 列级完整性约束条件,Sno是主码 */

    Sname  CHAR(20) UNIQUE,              /* Sname取唯一值 */

    Ssex  CHAR(2),

    Sage  INT,

    Sdept  CHAR(20)

   );

说明:在Microsoft SQL Server 2008的查询分析器(Query Analyzer)中使用单条SQL语句,其末尾不需要分号“;”作为命令结尾标记。通常,SQL Server 2008对大多数末尾带有分号的SQL命令都能顺利执行,但对少数的SQL命令,末尾若带分号,则SQL Server 2008会给出错误信息提示。

例6 建立课程表Course,其属性名意义分别为Cno-课程号, Cname-课程名, Cpno-先修课课程号, Ccredit-学分。

CREATE TABLE Course

   (Cno  CHAR(4) PRIMARY KEY,            /* 列级完整性约束条件,Cno是主码 */

    Cname  CHAR(40),           

    Cpno CHAR(4),

    Ccredit  INT,

    );

例7 建立学生选修课表SC。其中的属性名意义分别为Sno-学号,Cno-课程号和Grade-成绩。 

CREATE TABLE SC              

    ( Sno  CHAR(9),

      Cno  CHAR(4),

      Grade  INT,

      PRIMARY KEY(Sno,Cno),

      FOREIGN KEY(Sno) REFERENCES Student(Sno),

      FOREIGN KEY(Cno) REFERENCES Course(Cno)

     );

2 修改基本表

利用查询分析器或企业管理器修改基本表:

例8  向基本表Student中增加“入学时间”属性列,其属性名为S_entrance,数据类型为日期型。

ALTER TABLE Student ADD S_entrance DATETIME;

例9 将Sage(年龄)的数据类型改为SMALLINT型。

ALTER TABLE Student ALTER COLUMN Sage SMALLINT;

例10  增加课程名称必须取唯一值的约束条件。

ALTER TABLE Course ADD UNIQUE(Cname);

注意:SQL Server 2008 增加了删除属性的命令。比如,删除属性列S_entrance的命令为:

ALTER TABLE Student DROP COLUMN S_entrance;

3 删除基本表

利用查询分析器或企业管理器删除基本表:

例11 删除Student表。

DROP TABLE  Student;

说明:此表删除后,请立即用例1将其建立起来,以便后面的例子使用。

4 数据输入

利用企业管理器向表Student、Course、SC中输入数据。

(三)索引的建立和删除

1 建立索引

例14 为学生-课程数据库中的Student,Course,SC三个表建立索引。其中Student表按Sno(学号)升序建唯一索引,Course表按Cno(课程号)升序建唯一索引,SC表按Sno(学号)升序和Cno(课程号)号降序建唯一索引。其语句为:

CREATE UNIQUE INDEX Stu_Sno ON Student(Sno);

CREATE UNIQUE INDEX Cou_Cno ON Course(Cno);

CREATE UNIQUE INDEX SCno ON SC(Sno ASC, Cno DESC);

2 删除索引

例15  删除Student表的Stu_Sname索引。

DROP INDEX Student.Stu_Sname;

✨三、附加练习

在表student中增加新字段 “班级名称(sclass)“;

在表student中删除字段“班级名称(sclass)”;

 

修改表student中字段名为“sname”的字段长度由原来的6改为8;

 

修改表student中字段“sdept”名称为“dept”,长度为20;

 

修改表student中sage字段名称为sbirth,类型为smalldatetime;

修改表student新名称为stu_info;

✨四、实验总结

本次实验主要是学习了SQL数据定义功能,包括数据库和基本表的定义、删除和修改,以及索引的建立与删除。

通过使用SQL查询分析器和企业管理器,我们学会了创建新的数据库和基本表。使用CREATE DATABASE语句可以定义新的数据库,而CREATE TABLE语句用于定义新的基本表。我们可以指定表的列名、数据类型和约束条件来确保数据的一致性和完整性。

另外,我们也学习了如何删除数据库和基本表。使用DROP DATABASE和DROP TABLE语句可以永久性地删除不再需要的数据库和表。在执行删除操作时需要谨慎,因为数据将无法恢复。

此外,我们还了解了索引的概念和作用。索引是用于提高查询效率的数据结构。通过CREATE INDEX语句可以创建索引,并指定要创建索引的列。而使用DROP INDEX语句可以删除不再需要的索引。

通过本次实验,我们掌握了SQL数据定义功能的基本操作,对于数据库的设计和管理有了更深入的理解。这些知识和技能对于进行数据库操作和优化非常重要。

 

 

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

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

相关文章

Docker创建Springboot项目镜像文件

Docker创建Springboot项目镜像文件 本文章展示的是以Windows10系统为例进行操作 一.首先在Windows系统安装WSL(Windows系统的Linux子系统) //该命令能够直接在Windows系统安装wsl wsl --install //如果已经安装则可以进行update wsl --update二.安装Docker Desktop在本机电…

C调用Java代码 图文详解

环境搭建 1. android studio2021.2.1 2. JDK版本1.8 一、创建一个android项目 File ——> New ——> New Project ——> Empty Activity 创建后如下图所示 二、C调用java代码过程 2.1 写java类代码 创建一个java的JNI类,写触发C代码,让C…

有意思的各类算法,思维题目分享

1.统计子矩阵 思路:二维前缀和超时,下面是前缀和加双指针,对列前缀和,两个玄幻控制行号,双指针控制列的移动 考查:前缀和双指针 import os import sys# 请在此输入您的代码 # 矩阵大小 N M n,m,kmap(int,…

某大学信息安全竞赛——shellcode1 绕过strlen检查,绕过沙箱检查,执行orw shellcode拿到flag

题目自取: 链接:https://pan.baidu.com/s/1HrMqh-lX-mkfueVeLzoEJg 提取码:oyel 介绍下这可恶的沙箱机制 这是一道非常让人蛋疼的题目,之前我只听说过沙箱,但是并没有自己实际接触过沙箱这个保护机制,大…

PX4从放弃到精通(二十八):垂起过渡控制

文章目录 前言一、主程序二、update_transition_state()三、update_transition_state() 前言 固件版本:1.14.0 可加名片交流学习 一、主程序 代码位置: 构造函数,用初始化列表进行初始化工作…

图可视分析

G6简介 AntVG6是一个基于WebGL的图形可视化引擎,它提供了一种简单、高效、灵活的方式来创建各种类型的图形,包括流程图、关系图、树形图、桑基图、饼图等等。它的主要思想是将图形分解为节点和边,并使用数据来描述它们之间的关系。 它的特性包…

BMPFont使用教程--免费的位图字体制作工具字体制作(2)

1、下载windows免费的位图字体制作工具Bitmap Font Generator 下载地址:BMFont - AngelCode.com 2、打开软件-> Edit -> Open Image Manager 3、点击Image -> Import Image,选择字符对应的图片,id就填写下面的48,代表0,…

Redis 主从复制 哨兵 集群

哨兵:在主从复制的基础上,哨兵实现了自动化的故障恢复。缺陷:写操作无法负载均衡;存储能力收到单机的限制; Cluster集群:通过集群,Redis解决了写操作无法负载均衡,以及存储能力收到…

应用现代化中的弹性伸缩

作者:马伟,青云科技容器顾问,云原生爱好者,目前专注于云原生技术,云原生领域技术栈涉及 Kubernetes、KubeSphere、KubeKey 等。 2019 年,我在给很多企业部署虚拟化,介绍虚拟网络和虚拟存储。 2…

智能图像处理技术:开启未来视觉时代

写在前面技术论坛■ 智能文档图像处理技术■ 大模型时代的文档识别与理解■ 篡改文本图像的生成与检测 圆桌讨论未来愿景 写在前面 文档 是人们在日常生活、工作中产生的信息的重要载体,各领域从业者几乎每天都要与金融票据、商业规划、财务报表、会议记录、合同、…

【JAVA程序设计】(C00138)基于Servlet+jsp的药店管理系统

基于Servletjsp的药店管理系统 项目简介项目获取开发环境项目技术运行截图 项目简介 本项目是简单的药店管理系统,本系统使用servlet和jsp的技术,本系统有一种权限管理员: 其功能有:管理员管理(增删改查)、…

TypeScript为什么要有对象?怎样创建对象

什么是TypeScript的对象? 生活中,对象是一个具体的事物,比如:你的电脑、你的手机、古力娜扎、周杰伦(周董)等都是对象。 但在程序员的认知中万物皆对象。 这些具体的事物,都有自己的特征和行为: 特征&…

云his门诊业务模块常见问题分析和门诊业务使用流程

一、门诊医生如何查询往期病人 鼠标点击门诊医生站左侧患者列表,在弹出的页面点击已诊分页,在搜索框输入患者姓名,在结果中找到对应患者,点击详情按钮即可查询患者往期就诊信息,点击想要查询的门诊记录前方的方框即可…

[数据结构 -- C语言] 队列(Queue)

目录 1、队列 1.1 队列的概念及结构 2、队列的实现 2.1 接口 3、接口的实现 3.1 初始化队列 3.2 队尾入队列 分析: 3.3 队头出队列 分析: 3.4 获取队列头部元素 3.5 获取队列尾部元素 3.6 获取队列中有效元素个数 3.7 检测队列是否为空 3…

要想抢到演出票,总共分几步?

点击文末“阅读原文”即可参与节目互动 剪辑、音频 / 小黑 编辑 / SandLiu 卷圈 监制 / 姝琦 文案 / 小黑 产品统筹 / bobo 录音支持 / 声湃轩天津录音间 报复性听歌正席卷多地,一路狂飙的演唱会市场背后,是一票难求、与黄牛斗智斗勇的粉丝们。 是…

GPT专业应用:自动撰写宣传稿

●图片由Lexica 生成,输入:Staff working on product promotion 宣传稿是指按照有关政策文件或相关精神,以宣传某种主张、某项工作、某件事情等为目的,为获得理解、支持而撰写的应用文。基本格式包含四个要素,分别是标…

chatgpt赋能Python-numpy如何下载

如何下载Numpy 对于python编程者,numpy是不可或缺的一个库。它提供了一种操作向量、矩阵、数组的方式,使得我们能够高效地进行数据处理和科学计算,甚至还能进行线性代数运算和傅里叶变换等高级操作。 那么,在这篇文章中&#xf…

第十七章 使用PXE+Kickstart无人值守安装服务

文章目录 第十七章 使用PXEKickstart无人值守安装服务一、无人值守系统1、无人值守安装系统的工作流程2、PXE介绍 二、部署相关服务程序1、临时关闭防火墙2、配置DHCP服务程序(1)、安装dhcp服务程序(2)、编辑配置文件(…

为什么需要代理ip

使用代理IP的情况不限于某一特定行业,因为在不同行业中都可能需要根据不同需求和目的来使用代理IP。以下是一些行业中常见需要使用代理IP的情形: 1、爬虫行业 对于需要爬取网站数据的用户,使用代理IP可以帮助隐藏真实IP地址及请求头信息&am…

Flowable 生成的表都是干嘛的?(二)

一.简介 Flowable 默认一共生成了 79 张数据表,了解这些数据表,有助于我们更好的理解 Flowable 中的各种 API。 接下来我们就对这 79 张表进行一个简单的分类整理。 ACT_APP_*(5)ACT_CMMN_*(12)ACT_CO_*…