数据库的分析和设计

设计数据库确定一个合适的数据模型,满足3个要求:

  • 符合用户需求,包含用户所需的所有数据
  • 能被数据库管理系统实现,如sqlserver,oracle,db2
  • 具有比较高质量,容易理解,使用方便,便于维护,效率高

设计步骤分为6步:

  • 需求分析,与用户沟通,达成统一意见
  • 概念结构设计,创建E-R图
  • 逻辑结构设计,从E-R图转为关系模型,1对多,多对多,建立数据模型,数据库三范式
  • 物理结构设计,确定数据类型,是否可空,确定主键,外键,索引
  • 数据库实施
  • 数据库运行维护

数据库的三范式:

  • 1NF,每个属性不可在分割,比如地址如果有省,市,那么还可以在分为省属性,城市属性
  • 2NF,满足1NF前提下,每个非主键属性都依赖于主键,比如员工表(主键员工Id)的字段有部门Id和部门主管(依赖于部门Id,而不是员工Id),那么就要去掉部门主管字段
  • 3NF,满足2NF前提下,非主键属性不能是其他字段的函数传递值,比如员工表的奖金字段=薪资字段X20%,那么就不符合3NF,应该去掉奖金字段

数据库系统开发

使用visual studio 2012工具,使用C#开发语言,创建有关销售管理数据库的windows应用系统。

ADO.NET介绍

是统一数据容器类编程接口,包含了2个核心:

  • .NET Framework数据提供程序,为数据处理和快速访问数据设计的组件,有4个对象(Connection,Command,DataReader,DataAdapter)
  • DataSet,看做内存中的数据源,将数据缓存到本地,进行数据的处理,不需要占用连接,可以释放连接给其他客户使用

使用ADO.NET开发数据库应用程序的步骤:

  1. 根据使用的数据源,确定.NET Framework数据提供程序(SQL Server,OLE DB , ODBC Oracle)
  2. 建立数据源连接,Connection对象
  3. 执行SQL操作,Command对象
  4. 获取数据,DataReader对象,DataSet对象
  5. 展示数据

使用ADO.NET连接数据库

自动配置数据库

SQL Serever学习17——数据库的分析和设计的更多相关文章

  1. SQL Serever学习12——数据库的备份和还原

    公司的服务器奔溃了,事先没相应的保护措施,使得公司遭到了较大损失,为了以后不再出现类似事件,在系统中引入备份机制,使得数据库被破坏后损失降到最低. 数据的导出和导入 数据转换服务 数据转换服务DTS( ...

  2. SQL Serever学习13——数据库编程语言

    编程基础 注释 注释命名来对一些语句进行说明,便于日后维护或者其他用户理解,注释不会执行. 单行注释 SELECT GETDATE() --查询当前日期 多行注释 /* 注释有助于 理解操作的内容 查 ...

  3. SQL Serever学习11——数据库的安全管理

    公司管理软件设计完成,但是日常工作繁忙,向领导提出增加几个管理员,帮助管理和维护系统,领导同意了,但是要求一定要管理好这几个管理员用户,保证数据库的安全. 修改身份验证模式 数据库验证机制 sqlse ...

  4. SQL Serever学习5——数据库配置

    数据库的主要属性 限制访问 用来设置数据允许用户访问的状态,或者说允许多少客户访问,有3个选项: MULTI_USER(多个),大多数数据库正常状态,允许多个用户同时访问该数据库. SINGLE_US ...

  5. UML和模式应用学习笔记-1(面向对象分析和设计)

    UML和模式应用学习笔记-1(面向对象分析和设计) 而只是对情节的记录:此处的用例场景为:游戏者请求掷骰子.系统展示结果:如果骰子的总点数是7,则游戏者赢得游戏,否则为输 (2)定义领域模型:在领域模 ...

  6. SQL Serever学习4

    SQL Server系统中数据库相关概念 在SQLServer数据库系统中分为2大类,系统数据库和用户数据库. SQLServer安装后系统会自动生成4个系统数据库,他们是Master,Model,M ...

  7. SQL SERVER学习2——数据库设计

    数据库设计是数据库知识中比较重要的部分,我们需要了解数据库设计的基本步骤,E-R图的画法. 数据库设计的基本概述 检验一个数据库设计好坏的标准就是,看他是否能够方便的执行各种数据检索和处理操作,并且有 ...

  8. SQL Serever学习16——索引,触发器,数据库维护

    sqlserver2014数据库应用技术 <清华大学出版社> 索引 这是一个很重要的概念,我们知道数据在计算机中其实是分页存储的,就像是单词存在字典中一样 数据库索引可以帮助我们快速定位数 ...

  9. SQL Serever学习15——进阶

    特别说明:在sqlserver2014中,不区分大小写,也就是说,SQL是大小写不敏感的 数据库模型3类: 层次模型 网状模型 关系模型 关系型数据库语言3种: DDL数据定义语言 CREATE(创建 ...

随机推荐

  1. form 认证 读取

    class Program { public static CookieContainer cc { get; set; } static void Main(string[] args) { str ...

  2. django系列8.3--django中间件实现登录验证(1)

    中间件版的登录验证需要依靠session,所以数据库中要有django_session表. urls.py from django.conf.urls import url from app01 im ...

  3. TOJ1398正方形的编成 或者 POJ2362

    #include<stdio.h> #include<string.h> #include<iostream> #include<algorithm> ...

  4. GO学习笔记 - Go 只有一种循环结构—— for 循环。

    一,Go 只有一种循环结构—— for 循环. 官方教程:https://tour.go-zh.org/flowcontrol/1 Go 只有一种循环结构—— for 循环. 基本的 for 循环包含 ...

  5. Java_IO流输入输出

    第三章 输入输出 一.I/O Input/Output 二.File 用途:对文件和目录进行常规操作(除文件读写操作外). 方法:exists():判断文件或目录是否存在 isFile():判断是否是 ...

  6. 洛谷P5284 [十二省联考2019]字符串问题(SAM+倍增+最长路)

    题面 传送门 题解 首先,我们把串反过来,那么前缀就变成后缀,建一个\(SAM\).我们发现一个节点的后缀是它的所有祖先 那么我们是不是直接按着\(parent\)树建边就可以了呢? 显然不是.我们假 ...

  7. 《快学Scala》第六章 对象 第七章 包和引入

  8. java连接hbase时出现....is accessible from more than one module:

    今天在用java程序连接hbase时,出现错误,The package org.apache.hadoop.hbase is accessible from more than one module: ...

  9. leetcode-482-License Key Formatting

    题目描述: You are given a license key represented as a string S which consists only alphanumeric charact ...

  10. C#-WebForm-AJAX阿贾克斯(二)★★★★★ajax的完整结构★★★★★

    ajax完整结构: $.ajax({ url:"",//服务器路径 data:{},//给服务端传递的参数,可以没有,也可以是多个 type:"post", / ...