2021-08-26

数据库的三大范式

为什么需要数据规范化 ?

信息重复

更新异常

插入异常

​ 无法正常显示信息

删除异常

​ 丢失有效的信息

三大范式:

1.第一范式(1NT):列不可再分

1.每一列属性都是不可再分的属性值,确保每一列的原子性

2.两列的属性相近或相似或一样,尽量合并属性一样的列,确保不产生冗余数据

2.第二范式(2NT):属性完全依赖于主键

第二范式(2NF)是在第一范式(1NF)的基础上建立起来的,即满足第二范式(2NF)必须先满足第一范式(1NF)。第二范式(2NF)要求数据库表中的每个实例或行必须可以被惟一地区分。为实现区分通常需要为表加上一个列,以存储各个实例的惟一标识。这个惟一属性列被称为主键

2.第三范式(3NF)属性不依赖于其它非主属性 属性直接依赖于主键

3.第三范式(3NF)属性不依赖于其它非主属性 属性直接依赖于主键
数据不能存在传递关系,即每个属性都跟主键有直接关系而不是间接关系。像:a–>b–>c 属性之间含有这样的关系,是不符合第三范式的。

https://blog.csdn.net/qq_40899182/article/details/81706253

规范和性能的问题

关联查询的表不得超过三张表

​ 1. 考虑商业化的需求和目标,(成本,用户体验!) 数据库的性能更加重要

2.  在规范性能的问题的时候,需要适当的考虑一下规范性!
   3.  故意给某些表中增加一些冗余的字段。(从多表查询中变为单表查询)
   4.  故意增加一些计算列 (从大数据量值降低为小数据量的查询:索引)

JDBC

数据库驱动
在这里插入图片描述

地址:马文仓库: 我的ql - 我的斯克尔连接器 - 爪哇 (mvnrepository.com)

选择相对的版本号

在这里插入图片描述

点击jar下载

在这里插入图片描述

然后在file–>project structure–>libraries加号,找到存放的位置,确定,ok, apply
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在项目下面

在这里插入图片描述
在这里插入图片描述

点击加号添加你的数据库,然后填写信息
在这里插入图片描述

点击6位置添加

在这里插入图片描述

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

/**
 * @Author:刘洋
 * @Date:2021/8/26-08-26-17:33
 * @Description:PACKAGE_NAME
 * @version:1.0
 */
public class JdbcFirstDEmo {
    public static void main(String[] args) {
        Connection con;
        //jdbc驱动
        String driver="com.mysql.cj.jdbc.Driver";
        //这里我的数据库是cxxt
        String url="jdbc:mysql://localhost:3306/shop?&useSSL=false&serverTimezone=UTC";
        String user="root";
        String password="come.2018";
        try {
            //注册JDBC驱动程序
            Class.forName(driver);
            //建立连接
            con = DriverManager.getConnection(url, user, password);
            if (!con.isClosed()) {
                System.out.println("数据库连接成功");
            }
            con.close();
        } catch (ClassNotFoundException e) {
            System.out.println("数据库驱动没有安装");

        } catch (SQLException e) {
            e.printStackTrace();
            System.out.println("数据库连接失败");
        }
    }
}
// 结果
数据库连接成功
Process finished with exit code 0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值