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

简介: 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编辑

    总结

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


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



    相关文章
    |
    8天前
    |
    关系型数据库 MySQL Linux
    在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤
    本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置服务等,并与使用 RPM 包安装进行了对比,帮助读者根据需求选择合适的方法。编译源码安装虽然复杂,但提供了更高的定制性和灵活性。
    64 2
    |
    8天前
    |
    SQL NoSQL 关系型数据库
    数据库学习
    【10月更文挑战第8天】
    14 1
    |
    10天前
    |
    关系型数据库 MySQL Linux
    在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤
    【10月更文挑战第7天】本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。同时,文章还对比了编译源码安装与使用 RPM 包安装的优缺点,帮助读者根据自身需求选择合适的方法。
    20 3
    |
    8天前
    |
    关系型数据库 MySQL Java
    Django学习二:配置mysql,创建model实例,自动创建数据库表,对mysql数据库表已经创建好的进行直接操作和实验。
    这篇文章是关于如何使用Django框架配置MySQL数据库,创建模型实例,并自动或手动创建数据库表,以及对这些表进行操作的详细教程。
    32 0
    Django学习二:配置mysql,创建model实例,自动创建数据库表,对mysql数据库表已经创建好的进行直接操作和实验。
    |
    9天前
    |
    Java 关系型数据库 MySQL
    springboot学习五:springboot整合Mybatis 连接 mysql数据库
    这篇文章是关于如何使用Spring Boot整合MyBatis来连接MySQL数据库,并进行基本的增删改查操作的教程。
    14 0
    springboot学习五:springboot整合Mybatis 连接 mysql数据库
    |
    9天前
    |
    Java 关系型数据库 MySQL
    springboot学习四:springboot链接mysql数据库,使用JdbcTemplate 操作mysql
    这篇文章是关于如何使用Spring Boot框架通过JdbcTemplate操作MySQL数据库的教程。
    11 0
    springboot学习四:springboot链接mysql数据库,使用JdbcTemplate 操作mysql
    |
    10天前
    |
    SQL 存储 关系型数据库
    用SQL语句创建数据库:基础指南与操作示例4p7.0535yinshua.com
    一、引言在当今数字化时代,数据库已成为各类应用的核心组成部分,用于存储、管理和检索大量数据。结构化查询语言(SQL)作为一种用于管理关系数据库系统的标准编程语言,广泛应用于数据库的创建、查询、更新和管理。本文将详细介绍如何使用SQL语句创建数据库,涵盖基本概念、操作步骤及常见示例,帮助读者快速掌握相
    |
    12天前
    |
    关系型数据库 MySQL 数据库
    mysql关系型数据库的学习
    mysql关系型数据库的学习
    15 0
    |
    9天前
    |
    存储 SQL 关系型数据库
    Mysql学习笔记(二):数据库命令行代码总结
    这篇文章是关于MySQL数据库命令行操作的总结,包括登录、退出、查看时间与版本、数据库和数据表的基本操作(如创建、删除、查看)、数据的增删改查等。它还涉及了如何通过SQL语句进行条件查询、模糊查询、范围查询和限制查询,以及如何进行表结构的修改。这些内容对于初学者来说非常实用,是学习MySQL数据库管理的基础。
    43 6
    |
    7天前
    |
    存储 关系型数据库 MySQL
    Mysql(4)—数据库索引
    数据库索引是用于提高数据检索效率的数据结构,类似于书籍中的索引。它允许用户快速找到数据,而无需扫描整个表。MySQL中的索引可以显著提升查询速度,使数据库操作更加高效。索引的发展经历了从无索引、简单索引到B-树、哈希索引、位图索引、全文索引等多个阶段。
    39 3
    Mysql(4)—数据库索引