当前位置: 首页 > wzjs >正文

安康网站建设制作网站建设一条龙

安康网站建设制作,网站建设一条龙,自助微信小程序开发教程,wordpress.主题数据库设计 简介 1.软件的研发步骤 2.数据库设计概念 > 数据库设计就是根据业务系统的具体需求,结合我们所选用的DBMS,为这个业务系统构造出最优 的数据存储模型 > 建立数据库中的表结构以及表与表之间的关联关系的过程, > …

数据库设计

简介

1.软件的研发步骤

2.数据库设计概念

>  数据库设计就是根据业务系统的具体需求,结合我们所选用的DBMS,为这个业务系统构造出最优

的数据存储模型

>  建立数据库中的表结构以及表与表之间的关联关系的过程,

简单来说就是有哪些表?表里有哪些字段?表和表之间有什么关系?

3.数据库设计的步骤

① 需求分析   (数据是什么?数据具有哪些属性? 数据与属性的特点是什么)

② 逻辑分析  (通过ER图对数据库进行逻辑建模,不需要考虑我们所选用的数据库管理系统)

③ 物理设计  (根据数据库自身的特点把逻辑设计转换为物理设计)

④ 维护设计  (1.对新的需求进行建表; 2.表优化)

表关系

>  一对一
 如:  用户和用户详情
( 一对一关系多用于表拆分,将一个实体中经常使用的字段放张表,不经常使用的字段放另一张

表,用于提升查询性能)

实现方式:在任意一方加入外键,关联另一方主键,并且设置外键为唯一。

>  一对多(多对一)

 如:  部门和员工
    (一个部门对应多个员工,一个员工对应一个部门)

实现方式:在多的一方建立外键,指向一的一方的主键。

>  多对多

 如:商品 和 订单

(一个商品对应多个订单,一个订单包含多个商品)

实现方式:建立第三张中间表,中间表至少包含两个外键,分别关联两方主键。

多表查询

概念

>  笛卡尔积:取 A,B集合所有组合情况

多表查询:从多张表查询数据。

   1.连接查询:
          > 内连接:相当于查询A 、B交集数据
          > 外连接:

              左外连接:相当于查询A表所有数据和交集部分数据

              右外连接:相当于查询B表所有数据和交集部分数据
   2.子查询

内连接

1.内连接查询语法

        >   隐式内连接

         SELECT 字段列表 FROM 表1,表2..WHERE 条件;

        >   显示内连接

         SELECT 字段列 表 FROM 表1 [INNER] JOIN 表2 ON 条件;

注:INNER可以省略不写

外连接

1.外连接查询语法

              >  左外连接

    SELECT 字段列表 FROM 表1 LEFT [OUTER] J0IN 表2 ON 条件;

              >  右外连接

    SELECT 字段列表 FROM 表1 RIGHT [OUTER] JOIN 表2 ON 条件;

注:OUTER可以省略不写

子查询

1.概念:查询中嵌套查询,称嵌套查询为子查询

2.子查询根据查询结果不同,作用不同:

     >  单行单列:作为条件值,使用= != > <等进行条件判断

  SELECT 字段列表 FROM 表 WHERE 字段名 = (子查询);

     >  多行单列:作为条件值,使用in 等关键字进行条件判断

  SELECT 字段列表 FROM 表 WHERE 字段名 in (子查询);

     >  多行多列:作为虚拟表

  SELECT 字段列表 FROM (子查询) WHERE 条件;

事务

简介

>  数据库的事务(Transaction)是一种机制、一个操作序列,包含了一组数据库操作命令

>  事务把所有的命令作为一个整体一起向系统提交或撤销操作请求,即这一组数据库命令要么同

时成功,要么同时失败

>  事务是一个不可分割的工作逻辑单元

> 语法:

          -- 开启事务

START TRANSACTION;    或者    BEGIN;

          -- 提交事务

COMMIT;

          -- 回滚事务

ROLLBACK;

特征

事务四大特征

原子性: 事务是不可分割的最小操作单位,要么同时成功,要么同时失败

一致性: 事务完成时,必须使所有的数据都保持一致状态

隔离性: 多个事务之间,操作的可见性

持久性: 事务一旦提交或回滚,它对数据库中的数据的改变就是永久的

JDBC

简介

1.JDBC就是使用Java语言操作关系型数据库的一套API

2.全称(Java DataBase Connectivity)   Java 数据库连接。

3.本质:

      >  官方(sun公司)定义的一套操作所有关型数据库的规则,即接口

      >  各个数据库厂商去实现这套接口,提供数据库驱动jar包

      >  我门可以使用这套接口(JDBC)编程,真正执行的代码是驱动jar包中的实现类

快速入门

JDBC API详解

DriverManager

DriverManager(驱动管理类)作用:   1. 注册驱动    2. 获取数据库连接

1.注册驱动

Class.forName("com.mysql.jdbc.Driver");


提示:
MySQL5之后的驱动包,可以省略注册驱动的步骤

自动加载jar包中META-INF/services/java.sql.Driver文件中的驱动类

2.获取连接
      static Connection         getconnection(strimg url,string uer, string password)
     > 参数
  1.url: 连接路径
              语法:jdbc:mysql:/ip地址(域名):端口号/数报库名称?参数健值对1&参数健值对2...
              示例:jdbc:mysq!://127.0.0.1:3306/db1
              细节:
                 >如果连接的是本机mysql服务器,并且mysql服务默认口是3306,则url可以简写                                    为:jdbc:mysql:///数据库名称?参数键值对

                >配置 useSSL=false 参数,禁用安全连接方式,解决警告提示
2.user:用户名
3.password:密码

Connection

Connection(数据库连接对象)作用:1. 获取执行 SQL 的对象   2.管理事务

1. 获取执行 SQL 的对象

         >  普通执行SQL对象

  Statement createStatement()

         >  预编译SQL的执行SQL对象:防止SQL注入

  PreparedStatement prepareStatement (sql)

         >  执行存储过程的对象

  CallableStatement prepareCall (sql)

2. 事务管理

>  MySQL 事务管理

              开启事务:BEGIN; / STARTTRANSACTION:

              提交事务:COMMIT;

              回滚事务:ROLLBACK;

   注:MySQL默认自动提交事务

>  JDBC 事务管理: Connection接口中定义了3个对应的方法

              开启事务:setAutoCommit(boolean autoCommit):  true为自动提交事务;false为手动提交事

务,即为开启事务

              提交事务:commit()

              回滚事务:rollback()

Statement

Statement作用:  1. 执行SQL语句

1. 执行SQL语句

       int executeUpdate(sql): 执行DML、DDL语句

     返回值:(1)DML语句影响的行数

                 (2)DDL添句执行后,执行成功也可能返回0

       ResultSet executeQuery(sql): 执行DQL语句

     返回值: ResultSet结果集对象

ResultSet

>ResultSet(结果集对象)作用:

      1.封装了DQL查询语句的结果

ResultSet stmt.executeQuery(sql): 执行DQL语句,返回 ResultSet 对象

>获取查询结果
       boolean next():(1)将光标从当前位置向前移动一行

                               (2)判断当前行是否为有效行
       返回值:  true:有效行,当前行有数据
                       false:无效行,当前行没有数据

       xxx   getXxx(参数): 获取数据
              >  xxx:数 据类型; 如:int getnt(参数); Sting getSting(参数)
              > 参数:  Int: 列的编号,从1开始
                           Sting: 列的名称

>使用步聚:

         1.游标向下移动一行,并判断该行否有数据:next0)

         2.获取数据:getXxx(参数)

//循环判断游标是否是最后一行末尾
       whlle(rs.next(){
    //获取数据
       rs.getXxx(参数);

}

PreparedStatement

PreparedStatement作用:  1.预编译SQL语句并执行: 预防SQL注入问题

注:SQL注入是通过操作输入来修改事先定义好的SQL语句,用以达到执行代码对服务器进行攻击

的方法

1.预编译SQL并执行SQL语句

获取 PreparedStatement 对象

        //SQL语句中的参数值,使用?占位符替代

String sql = "select * from user where usemame = ? and password = ?";

       //通过Connection对象获取,并传入对应的sql语句

PreparedSlatement pstmt = conn.prepareSlatement(sql);

设置参数值

PreparedStatement对象:setXxx(参数1,参数2):给?赋
   > Xxx:数据类型;  如 setlnt(参数1,参数2)
   参数:
              参数1: ? 的位置编号,从1开始
              参数2: ? 的值

执行SQL

executeUpdate():/ executeQuery(); : 不需要再传递sql

2.PreparedStatement 原理

在获取PreparedStatement对像时,将sgl语句发送给mysql服务器,进行检查,编译(这些步票很耗时)

执行时就不用再进行这些步票了,速度更快

如果sgl模板一样,则只需要进行一次检查、编译

http://www.dtcms.com/wzjs/217536.html

相关文章:

  • 做废钢铁生意在哪个网站了解seo外链工具软件
  • 电影网站开发毕业论文开题报告自动外链工具
  • 抵扣发票在哪个网站做友链互换平台推荐
  • 做网站什么科目好用吗
  • 南充房产网58同城郑州seo关键词
  • 安徽建设行业安全协会网站seo云优化平台
  • 广州企业网站建设公司哪家好电脑系统优化软件哪个好用
  • 简单企业网站源码青岛百度seo
  • 有什么搜图片的网站好西安百度网站排名优化
  • 四平网站制作制作一个网站的流程有哪些
  • 魔兽7.2国内做插件网站seo外包靠谱
  • 天权网站建设百度行发代理商
  • 企业做网站能赚钱么网站推广渠道
  • 北京市轨道交通建设管理有限公司网站百度搜索优化软件
  • dwcs3如何做网站今日十大热点新闻头条
  • 公众号中做微网站武汉seo网站优化
  • 网站建设费计入 科目营销推广投放平台
  • 网站识别手机电脑自动跳转宁波seo外包推广排名
  • 域名停靠网页应用下大全免费seo网站推广在线观看
  • 商标注册申请需要什么材料杭州最好的seo公司
  • 厦门营销网站制作汕头seo优化培训
  • 网站建设页头的设计域名注册需要哪些条件
  • 网站建设案例机构百度热议怎么上首页
  • 做网站怎么关键词你们懂的
  • 网站建设的维护长春seo关键词排名
  • 手机网站做跳转好吗电脑培训机构
  • 网站404错误怎么解决网络营销技术
  • 汕头企业网站建设模板广西网站建设制作
  • 江西企业网站建设哪家好搜索引擎收录提交入口
  • 怎么做算命网站公关公司的主要业务