您现在的位置是:首页 >技术交流 >​数据库原理及应用上机(实验二 SQL数据定义功能实验)网站首页技术交流

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

命运之光 2024-06-17 10:47:05
简介​数据库原理及应用上机(实验二 SQL数据定义功能实验)

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

 

目录

✨一、实验目的和要求

✨二、实验内容与步骤

✨三、附加练习

✨四、实验总结


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


✨一、实验目的和要求

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

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

✨二、实验内容与步骤

(一)建立数据库

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

create database xskc

on

 ( name=xskc_data,

   filename='e:sjksyxskc_data.mdf')

log on

 ( name=xskc_log,

   filename='e:sjksyxskc_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数据定义功能的基本操作,对于数据库的设计和管理有了更深入的理解。这些知识和技能对于进行数据库操作和优化非常重要。

 

 

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。