数据库设计是数据库知识中比较重要的部分,我们需要了解数据库设计的基本步骤,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. Linux 常用命令大放送

    sbin 系统底层命令存放目录 bin  一般用户常用命令目录 文件用户管理 ls -lh 显示权限cp   -r 复制文件 文件夹 mkdir  test 创建文件夹rm    -rf  删除文件 ...

  2. 结合业务,精炼SQL

    现代网站,性能的瓶颈都围绕着数据库的性能来谈.数据库是存储的核心部件,在日益增长的流量中会凸显数据库的性能瓶颈.从<淘宝技术十年>书中来看,淘宝发展历程中从MYSQL换成了ORACLE又换 ...

  3. P4842 城市旅行

    题目链接 题意分析 首先存在树上的删边连边操作 所以我们使用\(LCT\)维护 然后考虑怎么维护答案 可以发现 对于一条链 我们编号为\(1,2,3,...,n\) 那么期望就是 \[\frac{a_ ...

  4. Laravel5.5 使用第三方Vendor添加注册验证码

    Laravel5系列的验证码添加通用,使用第三方验证码即可完美实现.这里记录下具体步骤吧,以备不时之需. 第一步:使用composer 安装 验证码库 composer require mews/ca ...

  5. Machine learning第四周code 编程作业

    1.lrCostFunction: 和第三周的那个一样的: function [J, grad] = lrCostFunction(theta, X, y, lambda) %LRCOSTFUNCTI ...

  6. 说说MySQL权限

    前言 今天继续MySQL系列文章,讲讲MySQL权限相关的内容.我们都知道,在写系统的时候,都会有权限相关的服务,以达到权限控制的目的.以最简单的权限菜单为例: 管理员拥有最大权限,可以查看系统下所有 ...

  7. ES6 三层for循环的链式写法

    假设有一个很复杂的数据,并且数据嵌套层数很多.如何避免用三层for循环呢? 有以下梨子,我们需要找到val值为12的,这个对象? 'use strict' let groups = [{ conten ...

  8. centos 6.6 设备 xxx 似乎不存在, 初始化操作将被延迟

    2019-04-02 问题描述: centos 6.6开启虚拟机之后,网卡服务不能正常启动,报错信息为:设备 xxx(网卡名称)似乎不存在, 初始化操作将被延迟 解决办法: 清空70-persiste ...

  9. Mac 10.12安装Windows远程桌面工具Microsoft Remote Desktop

    说明:之前Office自带的Windows远程桌面工具虽然简便,但是保存的服务器列表有限.而这个微软推出的自家工具可以完美解决这些问题. 下载: (链接:https://pan.baidu.com/s ...

  10. Mac下使Iterm2开机启动不显示界面

    一.在登录项上添加Iterm2的启动项 二.打开Iterm2 1.启动后会显示Iterm2,此时点击关闭按钮,保证桌面上没有任何的控制台窗口. 2.按[Command]+[Shift]+[S],保存名 ...