数据库设计是数据库知识中比较重要的部分,我们需要了解数据库设计的基本步骤,E-R图的画法。

数据库设计的基本概述

检验一个数据库设计好坏的标准就是,看他是否能够方便的执行各种数据检索和处理操作,并且有利于数据的控制管理和维护。

数据库设计步骤

设计数据库规范中比较著名的是“新奥尔良方法”(这个可不是做新奥尔良鸡腿的方法哦),Now Orleans,总计4个阶段:

  • 需求分析(分析用户要求,制作数据流图和判定图)
  • 概念结构设计(信息分析和定义,制作E-R图)
  • 逻辑结构设计(设计实现,关系型模型,或者非关系型模型)
  • 物理结构设计(物理数据库设计,存储安排,存储路径建立)

后来许多科学家经过改良补充,在最后增加了2个步骤:

  • 数据库实施阶段(装入数据,数据库试运行)
  • 数据库运行和维护(性能检测,备份,恢复,数据库重构)

设计阶段的E-R图

E-R图就是实体-联系图(Entity-Relationship Diagram),用来描述现实世界的概念模型,表示实体类型,数据和联系。

实体

可以是现实世界中的任何可以被认识的事物,可以是人或物,可以是抽象概念,比如一个学生,一台电脑。

属性

实体之间所具有的一系列特征,比如一台电脑的属性可以有商品名称,品牌,型号,价格。

联系

各个实体之间的内部联系,可以分为3类:

一对一(1:1)

对于实体集合a,实体集合b中最多有一个与a联系(可以没有),反之亦然,称他们为一对一关系,就是一一对应。比如,一辆车a有一个车牌号b,一个车牌b对应一辆车a。

一对多(1:n)

对于实体集合a,实体集合b有多个对象联系,就是一对多关系,一个a对应多个b。比如,一个a型号的车可以有很多辆,很多辆车也可以是同一个型号a。

多对多(m:n)

对于实体集合a,实体集合b有多个对象联系,反之亦然。比如,一个人a可以买很多种类的商品,一个种类的商品b也可以买个很多个人。

E-R图例说明

矩形:表示实体

菱形:表示联系

椭圆:表示实体或联系的属性

连线:各个图形之间使用直线连接,并在直线上标注联系类型,一对一(在连线2边都写1),一对多(在连线一的一边写1,多的一边写n),多对多(在连线一边写n,另外一边写m)

逻辑结构转为关系模型

比如一对一关系(1:1):

公司(公司编码,名称,地址)

经理(职工号,姓名,职务名称,公司编码

比如一对多关系(1:n):

方案1

类型(类型编号,类型名称,级别)

商品(商品编号,商品名称,品牌)

归属(类型编号商品编号

方案2

类型(类型编号,类型名称,级别)

商品(商品编号,商品名称,品牌,类型编号

在这里可以看到,方案1虽然也符合设计的理念,但是关系太多,管理起来不方便,不如关系2简洁。

比如多对多关系(m:n):

买家(买家编号,买家名称,电话)

商品(商品编号,商品名称,品牌)

销售(买家编号商品编号,销售日期)

数据库实施阶段

数据库实施主要是数据库定义,数据入库,数据库的试运行。设计人员用DBMS提供的数定义语言将数据库逻辑结构和物理结构描述出来,是数据模型成为DBMS可以接受的源代码,建立数据库结构,组织数据入库,数据入库是实施的最主要工作,通常数据量大,耗时多。接着是试运行阶段,就是实际运行应用程序,对数据库进行存储操作,测试应用程序功能是否满足要求。

在试运行阶段,实际测量和评价系统性能指标。

数据库的运行和维护

主要有4个工作:

数据库的备份和恢复

数据库的安全性和完整性控制

数据库性能检测,分析,改造数据库

数据库的重构

SQL SERVER学习2——数据库设计的更多相关文章

  1. SQL SERVER学习1——数据库概念

    <SQL Server实例教程>(科学出版社) 数据库的基本概念 数据是载荷信息的物理符号,是数据库中存储的基本对象. 信息可以通过手势,眼神表达,但是表达信息的最佳方式还是数据. 数据有 ...

  2. SQL Server 进阶 01 数据库的设计

    SQL Server 进阶 01 数据库的设计 本篇目录 课程内容回顾及介绍 为什么需要规范的数据库设计 设计数据库的步骤 绘制E-R(实体-关系)图 实体-关系模型 如何将E-R图转换为表 数据规范 ...

  3. SQL server学习(一)数据库的基本知识、基本操作和基本语法

    在软件测试中,数据库是必备知识,假期闲里偷忙,整理了一点学习笔记,共同探讨. 阅读目录 基本知识 数据库发展史 数据库名词 SQL组成 基本操作 登录数据库操作 数据库远程连接操作 数据库分离操作 数 ...

  4. SQL server学习(一)数据库的基本知识、基本操作(分离、脱机、收缩、备份、还原、附加)和基本语法

    在软件测试中,数据库是必备知识,共同探讨. 阅读目录 基本知识 数据库发展史 数据库名词 SQL组成 基本操作 登录数据库操作 数据库远程连接操作 数据库分离操作 数据库脱机.联机操作 数据库收缩操作 ...

  5. 第四篇 SQL Server代理配置数据库邮件

    本篇文章是SQL Server代理系列的第四篇,详细内容请参考原文. 正如这一系列的前几篇所述,SQL Server代理作业是由一系列的作业步骤组成,每个步骤由一个独立的类型去执行.SQL Serve ...

  6. 第七篇 SQL Server安全跨数据库所有权链接

    本篇文章是SQL Server安全系列的第七篇,详细内容请参考原文. Relational databases are used in an amazing variety of applicatio ...

  7. 【译】第七篇 SQL Server安全跨数据库所有权链接

    本篇文章是SQL Server安全系列的第七篇,详细内容请参考原文. Relational databases are used in an amazing variety of applicatio ...

  8. 【译】第四篇 SQL Server代理配置数据库邮件

    本篇文章是SQL Server代理系列的第四篇,详细内容请参考原文. 正如这一系列的前几篇所述,SQL Server代理作业是由一系列的作业步骤组成,每个步骤由一个独立的类型去执行.SQL Serve ...

  9. SQL server学习

    慕课网sql server学习 数据库第一印象:desktop--web server--database server** 几大数据库:sql server.oracle database.DB2. ...

随机推荐

  1. iOS 内嵌 View 的响应

    遇到一个问题就是我有一个 UITextField,点击后不能编辑而是会显示一个自定义的 dialog. 但发现问题是,UITextField 的对点击事件的反应非常吃顿,有时候好使有时候不好使. 后来 ...

  2. 【OCP-12c】CUUG 071题库考试原题及答案解析(18)

    18.(8-7) choose twoWhich two statements are true regarding views? (Choose two.) A) A simple view in ...

  3. LOJ#2882. 「JOISC 2014 Day4」两个人的星座(计算几何)

    题面 传送门 题解 我们发现如果两个三角形相离,那么这两个三角形一定存在两条公切线 那么我们可以\(O(n^2)\)枚举其中一条公切线,然后可以暴力\(O(n^3)\)计算 怎么优化呢?我们可以枚举一 ...

  4. android 开发 简单的小计算器

    ↑大致效果 项目构成: 随便写的,用的线性布局 activity_main.xml <?xml version="1.0" encoding="utf-8" ...

  5. Tsung安装指南

    1. 所需要软件包unixODBC-2.2.14.tar.gzotp_src_R13B02-1.tar.gztsung-1.3.1.tar.gzTemplate-Toolkit-2.22.tar.gz ...

  6. Eureka客户端注册过程源码解析

    微服务中注册中心是其重要的组成部分,那么客户端是如何注册到注册中心的呢,下面我们进入源码查看. 客户端的注册标志是@EnableDiscoveryClient,我们点进入注解查看 注解介绍这是开启Di ...

  7. Objective-C Associated Objects 的实现原理

    我们知道,在 Objective-C 中可以通过 Category 给一个现有的类添加属性,但是却不能添加实例变量,这似乎成为了 Objective-C 的一个明显短板.然而值得庆幸的是,我们可以通过 ...

  8. POJ 2239

    #include<iostream> #include<algorithm> #define MAXN 305 using namespace std; int _m[MAXN ...

  9. [温故]图解java多线程设计模式(一)

    去年看完的<图解java多线程设计模式>,可惜当时没做笔记,导致后来忘了许多东西,打算再温习下这本书,顺便在这里记录一下~  1.顺序执行.并行.并发 顺序执行:多个操作按照顺序依次执行. ...

  10. F6&F7adjust the volume

    Windows Registry Editor Version 5.00[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard La ...