首页 > 数据库 >数据库:数据定义和数据库的完整性

数据库:数据定义和数据库的完整性

时间:2024-08-13 13:56:07浏览次数:10  
标签:定义 数据库 Cname 完整性 SQL TABLE

1 实验目的

(1)掌握SQL的数据定义功能:

 熟悉SQL Server的操作界面及主要组件;

 掌握使用SQL语言创建数据库、表、索引和修改表结构。

(2)掌握SQL语言对数据库完整性的支持:

 掌握约束、规则、默认的使用方法;

 掌握参照完整性设置的方法;

 掌握用企业管理器创建和SQL创建、修改的方法;

2 实验任务

1、建立一个数据库XSCJ,自行规定数据文件和日志文件各项参数。

2、参照课本56页建立Course表,并录入数据库表中相应元组。

3、修改Course表增加一列,开课学期,数据类型自行定义。

4、为Course表的Cname列建立一个唯一索引,索引名Cname_idx。

5、删除唯一索引Cname_idx。

6、删除基本表Student。

7、删除数据库XSCJ

拓展练习:

1、创建创建一个名为BSXT的数据库,其初始大小为5MB,最大大小10MB,允许数据库自动增长,增长方式是按10%比例增长;日志文件初始为2MB,最大可增长到5MB,按1MB增长。

2、将以上BSXT数据库的主数据文件的最大大小改为不限制。

3、在TSGL系统中建立表1至表3共张表,要求采用T-SQL提供的六种约束创建三张表的实体完整性、参照完整性和用户定义的完整性定义。

3 相关知识

      关系数据库三级模式结构,其模式、外模式和内模式中的基本对象有模式、表、视图和索引等,因此SQL的数据定义功能包括模式定义、表定义、视图和索引的定义。

       SQL标准不提供修改模式定义和修改视图定义的操作。用户如果想修改这些对象,只能先将它们删除然后再重建一个。一个关系数据库管理系统的实例中可以建立多个数据库,一个数据库中可以建立多个模式,一个模式下通常包括多个表、视图和索引等数据库对象。

       SQL语言使用CREATE TABLE语句定义基本表,基本格式:

       CREATE TABLE <表名>

       (<列名><数据类型>[列级完整性约束条件],

       [<列名><数据类型>[列级完整性约束条件]]……[,<表级完整性约束条件>]);

       建表的同时通常还可以定义与该表有关的完整性约束条件。这些完整性约束条件被存入系统的数据字典中,当用户操作表中数据时由关系数据库管理系统自动检查该操作是否违背这些完整性约束条件。如果完整性条件约束涉及该表的多个属性列,则必须定义在表级上,否则既可以定义在列级也可以定义在表级。

      随着应用环境和应用需求的变化,有时需要修改已建立好的基本表。SQL语言用ALTER TABLE语句修改基本表;当某个表不再需要时,可以使用DROP TABLE语句删除它,其一般格式为:DROP TABLE <表名>[RESTRICT|CASCADE];

 4 实验内容与实验结果

ALTER TABLE Student ADD term char(2)
CREATE UNIQUE INDEX Cname_idx ON Course(Cname);DROP INDEX Cname_idx
DROP TABLE Student 
DROP DATEBASE XSCJ

标签:定义,数据库,Cname,完整性,SQL,TABLE
From: https://blog.csdn.net/cxx0316/article/details/141161575

相关文章

  • 数据库:数据查询
    1实验目的掌握SQL语言的数据查询语句,具体包括:    SELECT语句的基本用法    使用WHERE子句进行有条件的查询    使用IN,NOTIN,BETWEEN等谓词查询    利用LIKE子句实现模糊查询    利用ORDER子句为结果排序    用SQLServer的......
  • DBeaver 数据库可视化工具安装教程(图文教程)
    DBeaver是一款流行的数据库管理工具,广泛用于数据库开发和管理。它支持多种数据库类型,包括关系型数据库和NoSQL数据库。支持多种数据库,包括MySQL、PostgreSQL、SQLite、Oracle、SQLServer、DB2、Sybase、Teradata、Firebird、ApacheHive、Phoenix、Presto、MongoDB、C......
  • JSP红十字会管理系统enh63--(程序+源码+数据库+调试部署+开发环境)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表系统功能:捐赠人员,物资分类,物资信息,捐赠记录,募捐信息,捐款记录,捐赠动态技术要求:开发语言:JSP前端使用:HTML5,CSS,JSP动态网页技术后端使用SpringBoot,Sprin......
  • 在Vue3中实现自定义指令
    一、前言我们需要明白为什么需要自定义一个指令,其实就是想更加简洁地重复使用操作DOM的逻辑,这就和组件化和组合式函数差不多。不管是Vue内置的指令还是自定义的指令,都有类似于组件的生命周期,我们可以在不同的生命周期完成不同的逻辑操作,并绑定到组件元素上,这样就产生了自定义指......
  • 图数据库在社交网络分析中的应用
    图数据库在社交网络分析中的应用随着互联网的飞速发展,社交网络已成为人们日常生活中不可或缺的一部分。这些平台不仅连接了数以亿计的用户,还生成了海量的、高度互连的数据。如何有效地处理和分析这些数据,以理解用户行为、优化用户体验、提升平台价值,成为了一个重要的研究课题......
  • KingbaseES RAC运维案例之---集群及数据库管理
    案例说明:KingbaseESRAC在部署完成后,进行日常的集群及数据库管理。适用版本:KingbaseESV008R006C008M030B0010操作系统版本:[root@node201KingbaseHA]#cat/etc/centos-releaseCentOSLinuxrelease7.9.2009(Core)集群架构:如下所示,node1和node2为集群节点:节点信息:......
  • 【YashanDB数据库】Yashandb表闪回业务表实践
    数据误删除DELETE操作闪回示例(HEAP表)基于闪回查询(建议):select*fromsales.branches1;BRANCH_NOBRANCH_NAMEAREA_NOADDRESSEMPLOYEE_COUNT------------------------------------------------------------------------------------------------------------------......
  • 【YashanDB数据库】yasboot查询数据库状态时显示数据库状态为off
    【问题现象】yasbootclusterstatus-cyashandb显示数据库状态为off与数据库实际的状态不符,如下图【问题分类】yasboot、yasdb使用问题【关键字】yasboot,数据库运行状态为off【问题描述】yasboot工具显示的状态【问题原因分析】发现是备库启动数据库方式不标准,即使用noh......
  • 【深度分析】关于SPN不正确导致SQL数据库连接失败
    连接SQLServer数据库时发生报错“Thetargetprincipalnameisincorrect.CannotgenerateSSPIcontext”,无法连接,可能是由于AD域中记录了错误的SPN,导致无法进行身份验证而连接失败。下文通过简述Kerberos认证过程、SPN的组成,引出由SPN错误引发报错的解决方法。Kerberos认证......
  • Lombok 使用教程-@Accessors | 自定义getters和setters的生成格式
    作者简介:大家好,我是smart哥,前中兴通讯、美团架构师,现某互联网公司CTO联系qq:184480602,加我进群,大家一起学习,一起进步,一起对抗互联网寒冬学习必须往深处挖,挖的越深,基础越扎实!阶段1、深入多线程阶段2、深入多线程设计模式阶段3、深入juc源码解析阶段4、深入jdk其余源码解析......