• 数据库实验报告(一)


    一、 实验目的

    理解和掌握数据库DDL语言,能够使用SQL DDL语句创修改和删除数据库、模式和表。

    二、 实验内容

    用SQL定义语句创建符合如下条件的表C-1到C-4(注意各种完整性约束)
    表C-1 Student表结构

    列名 说明 数据类型 约束
    Sno 学号 普通编码定长字符串,长度为7 主键
    Sname 姓名 普通编码定长字符串,长度为10
    Ssex 性别 普通编码定长字符串,长度为2
    Sage 年龄 微整型(tinyint)
    Sdept 所在系 普通编码不定长字符串,长度为20
    Sid 身份证号 普通编码定长字符串,长度为10
    Sdate 入学日期 日期
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    表C-2 Course表结构

    列名 说明 数据类型 约束
    Cno 课程号 普通编码定长字符串,长度为10 主键
    Cname 课程名 普通编码不定长字符串,长度为20
    Credit 学时数 整型
    Semester 学分 小整型
    
    • 1
    • 2
    • 3
    • 4
    • 5

    表C-3 SC表结构

    列名 说明 数据类型 约束
    Sno 学号 普通编码定长字符串,长度为7 主键,引用Student的外键
    Cno 课程号 普通编码定长字符串,长度为10 主键,引用Course的外键
    Grade 成绩 小整型
    
    • 1
    • 2
    • 3
    • 4

    表C-4 Teacher表结构

    列名 说明 数据类型 约束
    Tno 教师号 普通编码定长字符串,长度为8
    Tname 教师名 普通编码定长字符串,长度为10
    Salary 工资 定点小数,小数点前4位,小数点后2
    • 1
    • 2
    • 3
    • 4

    表C-1 Student表数据

    学号 姓名 性别 年龄 系别 身份证号 入学日期
    0811101 李勇 男 21 计算机系
    0811102 刘晨 男 20 计算机系
    0811103 王敏 女 20 计算机系
    0811104 张小红 女 19 计算机系
    0821101 张立 男 20 信息管理系
    0821102 吴宾 女 19 信息管理系
    0821103 张海 男 20 信息管理系
    0831101 钱小平 女 21 通信工程系
    0831102 王大力 男 20 通信工程系
    0831103 张姗姗 女 19 通信工程系
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    表C-2 Course表中的记录

    Cno Cname Credit Semester
    C001 高等数学 4 1
    C002 大学英语 3 1
    C003 大学英语 3 2
    C004 计算机文化学 2 2
    C005 VB 2 3
    C006 数据库基础 4 5
    C007 数据结构 4 4
    C008 计算机网络 4 4
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    表C-3 SC表中的记录

    Sno Cno Grade
    0811101 C001 96
    0811101 C002 80
    0811101 C003 84
    0811101 C005 62
    0811102 C001 92
    0811102 C002 90
    0811102 C004 84
    0821102 C001 76
    0821102 C004 86
    0821102 C005 73
    0821102 C007 NULL
    0821103 C001 50
    0821103 C004 80
    0831101 C001 50
    0831101 C004 80
    0831102 C007 NULL
    0831103 C004 78
    0831103 C005 65
    0831103 C007 NULL
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20

    表C-4 Teacher表中的记录

    Tno Tname Salary
    T001 张美霞 5000
    T002 王洪林 5500
    T003 李丽芬 4800
    T004 周良水 6000
    T005 吴翔 7000
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    三、实验环境

    MySQL、Navicat 15 for MySQL

    四、实验前准备

    实验数据,写在了实验内容里面。

    五、 实验步骤

    先创建数据库:
    Creat Database
    接下来创建学生表:
    在这里插入图片描述

    创建课表:
    在这里插入图片描述

    创建选课表,以及两个外键(Foreign Key),分别关联student表的Sno和course表的Cno:
    在这里插入图片描述

    创建教师表:
    在这里插入图片描述
    接下来我们来看一下每个表的设计:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    接下来添加数据:
    因为学生表数据有两列没有,所以要写上每一个value对应的列。
    在这里插入图片描述
    课表数据:
    在这里插入图片描述
    选课表数据:
    在这里插入图片描述
    教师表数据:
    在这里插入图片描述
    接下来练习了有关用户的几个操作:
    在这里插入图片描述
    约束的学习:
    直接放上学习的代码啦:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    六、 实验结果

    student、course、sc、teacher几个表创建完成,期望数据添加成功。
    有关完整性的使用:创建时使用主键约束
    在这里插入图片描述

    更改学生姓名,使其非空:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  • 相关阅读:
    探索 Sa-Token (二) 登录认证、权限认证
    死锁和死锁的处理
    数字时代,商业智能BI的落地意味着什么
    拉格朗日乘子法
    《认知觉醒:开启自我改变的原动力》
    RabbitMQ 5种工作模式介绍和Springboot具体实现
    【C语言】用冒泡排序实现my_qsort
    Sorl环境搭建与mysql表导入数据
    【数据结构】链表C++编写的,它定义了一个链表,并实现了一些基本的链表操作,如创建新节点、插入节点、清空链表、输出链表以及查找节点
    Python和SQL server数据同步更新使用
  • 原文地址:https://blog.csdn.net/weixin_52192405/article/details/125516173