码迷,mamicode.com
首页 > 数据库 > 详细

MySQL--规范数据库设计及数据库连接

时间:2021-05-24 01:50:09      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:jdbc   数据库连接   next   超过   要求   pac   索引   exec   lis   

  为什么要进行数据库规范设计:

    • 信息重复
    • 更新异常
    • 插入异常
      • 无法正常显示信息
    • 删除异常
      • 丢失有效信息      
  1. 数据库设计的三大范式:

    • 第一范式:要求数据库的每一列都是不可分割的原子数据项(原子性即每个字段只包含一一个不可分割的属性)。 
    • 第二范式:前提满足第一范式,每张表只描述一件事情,主键依赖--每个非主键的字段都必须依赖于全部的主键(即只有通过所有的主键才能唯一标识,确认唯一的字段信息)
    • 第三范式:满足第二范式的基础上,非主属性不存在传递依赖。(即不存在传递依赖--即除了非主属性完全依赖于主键外,非主属性之间也存在依赖)
    • 依赖即使可以通过自己的信息找到你所依赖的唯一信息。
  2. 规范性和性能的问题:

    • 关联查新不得超过三张表
      • 考虑商业化的需求和目标,(成本和用户体验)数据库的性能更加重要
      • 在规范性能的问题的时候,需要适当考虑一下规范性
      • 故意给某些表增加一些冗余的字段,(从多表查询中变成单表查询)
      • 故意增加一些计算列(从大数据量变成小数据量查询;增加索引)
  3. MySQL数据库连接示例: 

package com.model.test;

import java.sql.*;

public class JDBC {
    public static void main(String[] args) throws SQLException {

        Connection connection=null;
        Statement statement=null;
        ResultSet resultSet=null;

        try {
            //1.加载驱动
            Class.forName("com.mysql.jdbc.Driver");
            //2.获取用户的信息和url
            String url="jdbc:mysql://localhost:3306/shop";
            String username="root";
            String password="12346";
            //3.获取数据库连接对象Connection
            connection = DriverManager.getConnection(url, username, password);
            //4.获取SQL执行对象Statement
            statement = connection.createStatement();
            //5.获取SQL语句
            String sql="select * from user";
            //6.执行SQL并获取返回值
            resultSet = statement.executeQuery(sql);
            //7.遍历返回值result即可
            while (resultSet.next()){
                String id = (String) resultSet.getObject("id");
                String name = (String) resultSet.getObject(2);
                System.out.println("id号:"+id+"姓名:"+name);
            }

        } catch (ClassNotFoundException | SQLException e) {
            e.printStackTrace();
        }finally {
            //8.关闭连接
            resultSet.close();
            statement.close();
            connection.close();
            
        }



    }
}

 

    

MySQL--规范数据库设计及数据库连接

标签:jdbc   数据库连接   next   超过   要求   pac   索引   exec   lis   

原文地址:https://www.cnblogs.com/zzhAylm/p/14744556.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!