实验11——数据库完整性

本文详细描述了在Windows11环境下使用MySQL8.0进行数据库实验的过程,包括创建教工表、设置默认值、添加检查约束和触发器,以及为订报管理子系统的PAPER表设计完整性规则以确保数据的正确性和完整性。
摘要由CSDN通过智能技术生成

《数据库系统实验》

实验报告

题目

实验11——数据库完整性

一、实验环境:

1、操作系统:Windows 11 22H2;

2、DBMS :mysql 8.0 CE;

二、实验内容与完成情况

11.5 创建一个教工表teachertnotnametaddtelphonetsexid),将教工号tno设为主键,性别默认值为“男”

SQL语言:

create table teacher

(

 tno CHAR(7) primary key#设置主键

    tname VARCHAR(10),

    tage INT,

    telphone CHAR(12),

    tsex char(2default '',  #性别默认值为""

    tid VARCHAR(20)

)engine=InnoDB;

desc teacher;

结果:

11.6 根据教工表teacher完成以下任务

1 设置telphone默认值为00000000

SQL语言:

ALTER TABLE teacher modify telphone CHAR(12default '0000000'

desc teacher;

结果:

2 设置tsexcheck检查约束为:输入值只能为“男”或“女”

SQL语言:

ALTER TABLE teacher CHANGE COLUMN tsex tsex enum('',''default '';

desc teacher;

结果:

尝试插入tsex不为‘男’或‘女’的数据:插入失败。

3 设置id的位数为15位或18位,每位都是数字

SQL语言:

delimiter //

create trigger tr_id after insert on teacher  #创建触发器

for each row

begin

declare iresult int default 0;

if (length(new.tid)!=15 and length(new.tid)!=18)  #如果id长度不为1518则报错

then

SIGNAL SQLSTATE'45000'SET MESSAGE_TEXT = 'The length is not allowed';

end if;

select new.tid regexp '^[0-9]*$' into iresult;  #如果id内容存在非数字则报错

if (iresult=0)

then 

SIGNAL SQLSTATE'45000' SET MESSAGE_TEXT ='id must be consisted of nums';

end if;

END//

尝试插入长度不为15或18的数据:插入失败。

插入长度为15和18的元素但包含非数字:插入失败。

插入长度为15且均为数字的数据:插入成功。

11.7 设有订报管理子系统数据库DingBao中的表PAPER,表内容如下

请在掌握数据库完整性知识的基础上,根据表的内容设定尽可能多的完整性规则用于该表,用于保障该表的正确性和完整性。

举例:

①设置报纸编号为主码,并且pno的长度必须为6,同时是由组数字组成;

②约束ppr大小必须大于0;

③设置报纸的名称不可以为空且不可以相同。

SQL语言:

create table paper

(

 pno char(7) primary key ,

    pna char(20) unique not null,

    ppr float not null

)engine=InnoDB;

delimiter //

create trigger trig after insert on paper  #创建触发器

for each row

begin

declare iresult int default 0;

if (length(new.pno)!=6 or ppr<0)

then

SIGNAL SQLSTATE'45000';

end if;

select new.pno regexp '^[0-9]*$' into iresult;  #如果id内容存在非数字则报错

if (iresult=0)

then 

SIGNAL SQLSTATE'45000';

end if;

END//

验证方式与11.6基本一致,不再赘述。

  • 38
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
数据库实验设计 5 数据库实验设计全文共22页,当前为第1页。数据库实验设计全文共22页,当前为第1页。 数据库实验设计全文共22页,当前为第1页。 数据库实验设计全文共22页,当前为第1页。 数据库实验设计 报告 班 级: 学 号: 姓 名: 专 业: 指导老师: 2009/12/19 数据库实验设计全文共22页,当前为第2页。数据库实验设计全文共22页,当前为第2页。 数据库实验设计全文共22页,当前为第2页。 数据库实验设计全文共22页,当前为第2页。 目录 第1章 引言 2 第2章 设计要求 3 1.1 本报告的实验课题 3 第3章 程序设计过程 4 2.1 需求分析 4 2.2 程序设计目标 5 2.3 程序实现思路 5 2.2.1前台程序结构及其简单叙述 5 2.2.2后台程序结构及其简单叙述 7 2.2.3系统功能模块介绍 9 2.3 系统流程截图 10 2.4 系统调试测试 12 2.5 完整程序代码 12 实验心得体会 20 参考文献 21 数据库实验设计全文共22页,当前为第3页。数据库实验设计全文共22页,当前为第3页。数据库实验设计报告书 数据库实验设计全文共22页,当前为第3页。 数据库实验设计全文共22页,当前为第3页。 引言 档案管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生档案管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。 随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。 作为计算机应用的一部分,使用计算机对学生档案信息进行管理,具有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高学生档案管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。 因此,开发这样一套管理软件成为很有必要的事情,在下面的各章中我们将以开发一套学生档案管理系统为例,谈谈其开发过程和所涉及到的问题及解决方法。 数据库实验设计全文共22页,当前为第4页。数据库实验设计全文共22页,当前为第4页。设计要求 数据库实验设计全文共22页,当前为第4页。 数据库实验设计全文共22页,当前为第4页。 实验课题 班 级 学生姓名 学 号 专 业 发题日期: 2009年12月07日 完成日期: 2009年12月11日 题 目 档案管理系统 题目类型:课程设计 技术专题研究 理论研究 软件系统开发 设计任务及要求 1、目的: (1)要求学生达到熟练掌握数据库的基本知识和技能; (2)基本掌握数据库程序设计的基本思路和方法; (3)能够利用所学的基本知识和技能,解决简单的数据库程序设计问题。 2、基本要求: (1)模块化程序设计 (2)要求在设计的过程中,建立清晰的层次; (3)锯齿型书写格式 (4)必须上机调试通过 3、创新要求: 在基本要求达到后,可进行创新设计,如根据查找结果进行修改的功能及设计出比友好的界面等。 4、写出设计说明书 数据库实验设计全文共22页,当前为第5页。数据库实验设计全文共22页,当前为第5页。程序设计过程 数据库实验设计全文共22页,当前为第5页。 数据库实验设计全文共22页,当前为第5页。 需求分析 计算机已经成为我们学习和工作的得力助手: 今天,计算机的价格已经十分低廉,性能却有了长足的进步。它已经被应用于许多领域,计算机之所以如此流行的原因主要有以下几个方面: 首先,计算机可以代替人工进行许多繁杂的劳动; 其次,计算机可以节省许多资源; 第三,计算机可以大大的提高人们的工作效率; 第四,计算机可以使敏感文档更加安全,等等。 在中小学中用计算机管理学生档案的意义 现在我国的中小学校中档案的管理水平还停留在纸介质的基础上,这样的机制已经不能适应时代的发展,因为它浪费了许多人力和物力,在信息时代这种传统的管理方法必然被计算机为基础的信息管理所取代。 我作为一个计算机应用的本科生,希望可以在这方面有所贡献。改革的总设计师邓小平同志说过"科学技术是第一生产力",我希望能用我三年的所学编制出一个实用的程序来帮助中小学进行更有效的学籍管理。 归纳起来,好处大约有以下几点: 1. 可以存储历届的学生档案,安全、高效; 数据库实验设计全文共22页,当前为第6页。数据库实验设计全文共22页,当前为第6页。2. 只需一到二名档案录入员即可操作系统,节省大量人力; 3. 可以迅速查到所需信息。 数据库实验设计全文共22页,当前为第6页。 数

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值