• javaoo.day15


    关系数据库的几种设计范式介绍
    1、第一范式(1NF)
    在任何一个关系数据库中,第一范式(1NF)是对关系模式的基本要求,不满足第一范式(1NF)的数据库就不是关系数据库。
    所谓第一范式(1NF)是指数据库表的每一列都是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性。

    2、第二范式(2NF)
    第二范式(2NF)是在第一范式(1NF)的基础上建立起来的,即满足第二范式(2NF)必须先满足第一范式(1NF)。第二范式(2NF)要求数据库表中的每个实例或行必须可以被唯一地区分。

    3、第三范式(3NF)
    满足第三范式(3NF)必须先满足第二范式(2NF)。简而言之,第三范式(3NF)要求一个数据库表中不包含已在其它表中已包含的非主关键字信息。

    insert into classes(class_name,class_address) values('j138',"红瓦寺") 选择插入某些列
    insert into classes values(null,'j139',"红瓦寺") 插入所有列,自增粘以null占位

    insert into className(class_name) select class_name from classes 从classes 表中查询所有的class_name 插入到className表中的(class_name) 字段

    INSERT INTO t_student VALUES
    (1,'张三',20,'男'),
    (2,'李四',25,'男'),
    (3,'王五',19,'女')

    INSERT INTO t_student_bak SELECT * FROM t_student
    CREATE TABLE t_student_bak SELECT * FROM t_student


    删除
    DELETE from classes where class_id=4

    删除年龄在18-20
    delete from student where age>=18 and age<=20

    DELETE FROM t_student WHERE 年龄 BETWEEN 18 AND 20


    UPDATE 表名 SET 列1=新值1,列2=新值2 WHERE 过滤条件
    UPDATE classes set class_address='红瓦寺',class_name='hehe' where class_id=3

    UPDATE classes set class_name=null where class_id=3
    '' 和null 一样吗?? 严格意义不一样


    String s='';

    删除字段
    alter table tableName drop column 列名

    修改字段
    alter table tableName change 原列名 新列名 类型

    索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。

    创建索引
    create index name_index on student(stu_No)

    CREATE INDEX <索引名> ON <表名>(<列名一>,[<列名二>],…);


    删除索引
    alter table student drop index name_index

    为什么要保证实体完整性
    保证每行所代表的实体能互相区别,不能存在两条一模一样的记录
    什么是实体完整性
    表中的一行数据如果与它所代表的实体完全一致,则具备实体完整性。
    create table student(
    stu_id int PRIMARY key,
    stu_name varchar(20)
    )
    主键(Primary Key)是表中的一到多个列,主键列不能为空,也不能重复。一个表中只能有一个主键。


    唯一约束
    create table student2(
    stu_id int PRIMARY key,
    stu_name varchar(20),
    stu_No varchar(20) UNIQUE
    )

    为什么要域完整性
    保证指定列的数据的有效性
    什么叫域完整性
    域完整性是指定列的输入有效性

    create table student3(
    stu_id int PRIMARY key,
    stu_name varchar(20) not null, --保证stu_name这个列不能有空值
    stu_No varchar(20) UNIQUE
    )

    --

    默认约束
    create table student4(
    stu_id int PRIMARY key,
    stu_name varchar(20) not null,
    stu_No varchar(20) UNIQUE,
    stu_address varchar(40) DEFAULT '郎沃学生宿舍楼' not null
    )
    check检查约束
    create table student5(
    stu_id int PRIMARY key,
    stu_name varchar(20) not null,
    stu_No varchar(20) UNIQUE,
    stu_address varchar(40) DEFAULT '郎沃学生宿舍楼' not null,
    stu_gender int CHECK(stu_gender=1 or stu_gender=0)
    )
    支持创建,但是没有功能

  • 相关阅读:
    Spring Boot任务管理之定时任务
    Spring Boot任务管理之有返回值异步任务调用
    Spring Boot任务管理之无返回值异步任务调用
    Spring Boot整合Thymeleaf
    IDEA配置maven详细教程
    虚拟机运行centos设置固定IP
    django.db.utils.IntegrityError: (1048, "Column 'spu_id' cannot be null")关于RESTframework使用序列化器报错问题
    RuntimeWarning: DateTimeField User.date_joined received a naive datetime (2020-08-01 00:00:00) while time zone support is active. warnings.warn("DateTimeField %s.%s received a naive datetime "问题
    ModuleNotFoundError: No module named 'PIL'问题
    ImportError: cannot import name 'Feature' from 'setuptools' (D:python_learnmeiduo_projectenvlibsite-packagessetuptools\__init__.py)问题
  • 原文地址:https://www.cnblogs.com/GhostV/p/6486669.html
Copyright © 2020-2023  润新知