数据库学习-表的创建作业示例【带源码】

简介: MySQL数据库 “表的创建 ” 习题示例,包含源码,能建立起对于表的创建的基本概念

 目录

教师表 teacher

    2.学生表 student

    3.课程表 course

    4.授课表 school_teaching

     5.成绩表 grade

总结


    1. 教师表 teacher

    字段名

    数据类型

    长度(字节数)

    是否可null

    默认值

    主、外键

    其他约束

    备注信息

    NO

    CHAR

    4

    主键

    教师号

    NAME

    VARCHAR

    10

    教师姓名

    PROF

    VARCHAR

    20

    assistant

    职称

    SAL

    INT

    2

    工资

    COMM

    SMALLINT

    2

    岗位津贴

    create table teacher(

       -> no char(4),

       -> name varchar(10) not null,

       -> prof varchar(20) not null default "assistant",

       -> sal int(2) not null,

       -> comm smallint(2),

       -> primary key(no)

       -> );

    image.gif编辑

        2.学生表 student

    字段名

    数据类型

    长度(字节数)

    是否可null

    默认值

    主、外键

    其他约束

    备注信息

    NO

    CHAR

    4

    主键

    学生号

    NAME

    VARCHAR

    10

    学生姓名

    AGE

    TINYINT

    1

    年龄

    DEPT

    VARCHAR

    20

    computer

    系名

    create table student(

       -> no char(4),

       -> name varchar(10) not null,

       -> age tinyint(1) not null,

       -> dept varchar(20) not null default "computer",

       -> primary key(no)

       -> );

    image.gif编辑

        3.课程表 course

    字段名

    数据类型

    长度(字节数)

    是否可null

    默认值

    主、外键

    其他约束

    备注信息

    NO

    CHAR

    4

    主键

    课程号

    NAME

    VARCHAR

    20

    唯一

    课程名

    CLASS_HOURS

    INT

    2

    45

    课时数

    create table course(

       -> no char(4),

       -> name varchar(20) not null,

       -> class_hours int(2) default "45",

       -> primary key(no)

       -> );

              image.gif编辑

       

        4.授课表 school_teaching

    字段名

    数据类型

    长度(字节数)

    是否可null

    默认值

    主、外键

    其他约束

    备注信息

    ID

    INT

    4

    主键

    自动增加

    序号

    COURSE_NO

    CHAR

    4

    外键course(no)

    课程号

    TEACHER_NO

    CHAR

    4

    外键teacher(no)

    教师号

    WEEK

    INT

    2

    15

    周数

    CLASS_NUM

    VARCHAR

    10

    教室号

        create table schoolteaching(

       -> id int(4),

       -> course_no char(4) not null,

       -> teacher_no char(4) not null,

       -> week int(2) default "15",

       -> class_num varchar(10) not null,

       -> primary key(id),

       -> constraint fk_course_no foreign key (course_no) references course(no),

       -> constraint fk_teacher_no foreign key (teacher_no) references teacher(no)

       -> );

    image.gif编辑

         5.成绩表 grade

    字段名

    数据类型

    长度(字节数)

    是否可null

    默认值

    主、外键

    其他约束

    备注信息

    STUDENT_NO

    CHAR

    4

    主键

    学生号

    COURSE_NO

    CHAR

    4

    主键

    课程号

    SCORE

    FLOAT

    60

    成绩

    create table grade(

       -> student_no char(4) not null,

       ->      course_no char(4) not null,

       ->     score float not null default "60",

       ->     primary key(student_no,course_no)

       ->      );

    image.gif编辑

    总结

    • 保证每列的合理性,不可分解,意思表达要清楚,高度概括字段的含义,能用一个字段表达清楚的绝不使用第二个字段


    • 为了提高数据库的运行效率,常常需要降低范式标准:适当增加冗余,达到以空间换时间的目的。



    相关文章
    |
    13天前
    |
    存储 JSON NoSQL
    学习 MongoDB:打开强大的数据库技术大门
    MongoDB 是一个基于分布式文件存储的文档数据库,由 C++ 编写,旨在为 Web 应用提供可扩展的高性能数据存储解决方案。它与 MySQL 类似,但使用文档结构而非表结构。核心概念包括:数据库(Database)、集合(Collection)、文档(Document)和字段(Field)。MongoDB 使用 BSON 格式存储数据,支持多种数据类型,如字符串、整数、数组等,并通过二进制编码实现高效存储和传输。BSON 文档结构类似 JSON,但更紧凑,适合网络传输。
    48 15
    |
    2月前
    |
    关系型数据库 MySQL Linux
    在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比
    本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。通过具体案例,读者可以了解如何准备环境、下载源码、编译安装、配置服务及登录 MySQL。编译源码安装虽然复杂,但提供了更高的定制性和灵活性,适用于需要高度定制的场景。
    128 3
    |
    2月前
    |
    PHP 数据库 数据安全/隐私保护
    布谷直播源码部署服务器关于数据库配置的详细说明
    布谷直播系统源码搭建部署时数据库配置明细!
    |
    2月前
    |
    JSON JavaScript 关系型数据库
    node.js连接GBase 8a 数据库 并进行查询代码示例
    node.js连接GBase 8a 数据库 并进行查询代码示例
    |
    2月前
    |
    关系型数据库 MySQL Linux
    在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。
    本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。同时,文章还对比了编译源码安装与使用 RPM 包安装的优缺点,帮助读者根据需求选择最合适的方法。通过具体案例,展示了编译源码安装的灵活性和定制性。
    184 2
    |
    3月前
    |
    SQL NoSQL 关系型数据库
    数据库学习
    【10月更文挑战第8天】
    33 1
    |
    3月前
    |
    关系型数据库 MySQL Java
    Django学习二:配置mysql,创建model实例,自动创建数据库表,对mysql数据库表已经创建好的进行直接操作和实验。
    这篇文章是关于如何使用Django框架配置MySQL数据库,创建模型实例,并自动或手动创建数据库表,以及对这些表进行操作的详细教程。
    109 0
    Django学习二:配置mysql,创建model实例,自动创建数据库表,对mysql数据库表已经创建好的进行直接操作和实验。
    |
    3月前
    |
    NoSQL 前端开发 MongoDB
    前端的全栈之路Meteor篇(三):运行在浏览器端的NoSQL数据库副本-MiniMongo介绍及其前后端数据实时同步示例
    MiniMongo 是 Meteor 框架中的客户端数据库组件,模拟了 MongoDB 的核心功能,允许前端开发者使用类似 MongoDB 的 API 进行数据操作。通过 Meteor 的数据同步机制,MiniMongo 与服务器端的 MongoDB 实现实时数据同步,确保数据一致性,支持发布/订阅模型和响应式数据源,适用于实时聊天、项目管理和协作工具等应用场景。
    |
    10天前
    |
    存储 Oracle 关系型数据库
    数据库传奇:MySQL创世之父的两千金My、Maria
    《数据库传奇:MySQL创世之父的两千金My、Maria》介绍了MySQL的发展历程及其分支MariaDB。MySQL由Michael Widenius等人于1994年创建,现归Oracle所有,广泛应用于阿里巴巴、腾讯等企业。2009年,Widenius因担心Oracle收购影响MySQL的开源性,创建了MariaDB,提供额外功能和改进。维基百科、Google等已逐步替换为MariaDB,以确保更好的性能和社区支持。掌握MariaDB作为备用方案,对未来发展至关重要。
    38 3
    |
    10天前
    |
    安全 关系型数据库 MySQL
    MySQL崩溃保险箱:探秘Redo/Undo日志确保数据库安全无忧!
    《MySQL崩溃保险箱:探秘Redo/Undo日志确保数据库安全无忧!》介绍了MySQL中的三种关键日志:二进制日志(Binary Log)、重做日志(Redo Log)和撤销日志(Undo Log)。这些日志确保了数据库的ACID特性,即原子性、一致性、隔离性和持久性。Redo Log记录数据页的物理修改,保证事务持久性;Undo Log记录事务的逆操作,支持回滚和多版本并发控制(MVCC)。文章还详细对比了InnoDB和MyISAM存储引擎在事务支持、锁定机制、并发性等方面的差异,强调了InnoDB在高并发和事务处理中的优势。通过这些机制,MySQL能够在事务执行、崩溃和恢复过程中保持
    37 3