`
心动音符
  • 浏览: 337045 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

数据库表设计的原则攻略(一)

阅读更多
从今天开始是设计数据库,这里需要一个星期的时间来讨论数据库的构建,对于数据库分析,必须是要跟需求相联系的,今天的首要任务就是理清总共需要多少个表,怎么来创建这些表,到晚上了我们也只是分析出了一部分。下面我就说下我对表的设计方面的看法。

     创建数据库里最基本的应该就是建表,建索引、存储过程等一系列操作了。谈到表就不得不谈到实体。

    一、数据实体

        什么是实体,客观存在并且可以相互区别的事物称为实体。这里我们就简单的把它理解为一个表吧,描述实体的特性,我们就把他们称为了属性。也可以说当我们把一个数据库表当作一个实体,那么它里面的所有字段是不是就是一个属性了呢?结果是肯定的。

   二、实体间的联系

       我想说的是,很简单,数据库里表跟表间的关系莫过于三种:一对一;多对多;一对多。

       一对一其实就是说我们建的主表跟相关联的表之间是一一对应的,比如说,我建了一个学生基本信息表:t_student,然后我又建了一个成绩表,里面有个外键,studentID,学生基本信息表里的字段studentID和成绩表里的studentID就是一对一。

      一对多,也是类似,我另外建一个班级表,而每个班级有多个学生,每个学生就对应一个班级,对班级来说当然就是一对多了。

     多对多,我还举这个例子,我建个选课表,可能有许多科目,每个科目有很多学生选,而每个学生又可以选择多个科目。这就是多对多了。

   三、基本表的完整性

       (1) 原子性。基本表中的字段是不可再分解的。

     (2) 原始性。基本表中的记录是原始数据(基础数据)的记录。

     (3) 演绎性。由基本表与代码表中的数据,可以派生出所有的输出数据。

     (4) 稳定性。基本表的结构是相对稳定的,表中的记录是要长期保存的。

       这是基本表的完整性,也是它特有的。这里我想说的是,在数据库里还有几种表也是常用的那就是中间表和临时表。

      1、中间表

         中间表是针对多对多关系的,就比如做公交查询系统。里面有两个表,分别是车站表、线路表。这里我们起个名字叫:t_busstation 、t_road,根据常识我们也知道,一个站有多个线路经过,而每个线路又有多个车站,怎么才能将两个表联系起来呢,如果是一对一,一对多,我们一个表,两个表就可以将他们实现了,但是多对多呢,这样我们就必须借助中间表用来连接两个表。一般中间表都是有一个本表的自增主键,还有另外两个表的主键。中间表是没有属性的因为它不是一个基本表。

     2、临时表

        在本次项目中,我们就要用到临时表,首先来看看什么是临时表吧。这是我从网上书上查到的。因为我们用的是MS SQL Server 2000数据库,而在这个数据库里是支持临时表的。

       临时表:其实就是那些以#号开头为名字的数据表,它主要是用来存放临时数据的,当用户断开连接但没有出去临时表里的数据时,系统会自动把临时表里的数据清空。这里要说一点,临时表是放在系统数据库 tempdb中的,而不是当前数据库。

       临时表总共是分两种:本地临时表和全局临时表。

       (1)这里我们需要了解的就是,在数据库中本地临时表是以一个#开头的,这种临时表只对当前的数据库用户可见,而其他的用户是不可见的。当数据库实例断开后当然也就丢失了数据了,不管是显式清空还是系统回收。  

       (2)还有一个就是全局临时表。它是以“##”开头的,而且是对于所有的用户都是可见的,当你断开数据库实例连接时,只要还有别的系统项目在引用它,连着数据库,那么数据就存在,只有当别的系统也断开连接时,系统才会清除全局临时表的数据。

    下面是建立临时表的语句:

     本地临时表:

    create table #student
    (
      studentID int ,
      studentName nvarchar (40),
      classID int
     )



     全局临时表:

     create table ##student
    (
      studentID int ,
      studentName nvarchar (40).
      classID int
     )      

   这里我们也可以用SQL语句完成:

  
select * from employee into  #student


   今天先写到这明天接着学习。
分享到:
评论

相关推荐

    数据库索引设计原则.

    数据库索引设计原则是 Oracle 数据库管理系统中的一项重要技术,旨在提高数据库的查询效率和性能。以下是数据库索引设计原则的详细解释。 一、基本原则 数据库索引设计原则的基本原则是确保数据库的查询效率和性能...

    经典数据库设计14个原则

    ### 经典数据库设计14个原则 #### 1. 实体关系的一对一、一对多、多对多关系 - **定义与解释**:在数据库设计中,实体之间的关系通常分为一对一(1:1)、一对多(1:N)或多对多(N:M)。一对一指的是两个实体之间...

    数据库表设计数据库表设计.doc

    在本文中,我们将对数据库表设计的基本概念、设计原则、设计步骤和设计技术进行详细的介绍,并从实践角度出发,探讨数据库表设计的各种应用场景和解决方案。 一、数据库表设计的基本概念 数据库表设计是指对数据库...

    数据库表设计工具

    2. **表设计**:在数据库设计中,表设计是核心环节,它定义了数据如何组织和存储。这涉及到以下几个方面: - 字段定义:每个表由多个字段组成,每个字段都有特定的数据类型(如整数、文本、日期等)和属性(如是否...

    数据库设计原则优化数据库的设计

    本文将探讨一些核心的设计原则,旨在优化数据库的设计,提高系统的整体性能。 首先,简洁明了的命名规范至关重要。数据库、表和字段的命名应当清晰反映其用途,如使用公司简称加系统名称来命名数据库,如"BxxCRM"。...

    数据库设计原则总结

    数据库设计原则总结 本文总结了数据库设计的重要原则,包括原始单据与实体之间的关系、主键与外键的设计、基本表的性质、范式标准、通俗地理解三个范式、要善于识别与正确处理多对多的关系、主键PK的取值方法等七个...

    1数据库设计文档.doc

    数据库设计原则 6 1.2.1. 数据库SID 6 1.2.2. 数据库全局名 6 1.2.3. 数据库类型选择 6 1.2.4. 数据库连接类型选择 7 1.2.5. 数据库SGA配置 7 1.2.6. 数据库字符集选择 8 1.2.7. 数据库其他参数配置 9 1.2.8. ...

    数据库中表的主键设计原则收藏.doc

    "数据库中表的主键设计原则收藏" 在设计数据库表时,主键的设计是非常重要的一步。一个好的主键设计可以提高数据库的性能和可维护性,而一个糟糕的主键设计可能会带来一系列的问题。本文将讨论数据库中表的主键设计...

    数据库设计原则14法则

    以下是关于“数据库设计原则14法则”的详细解析: 1. 原始单据与实体之间的关系:数据库设计时,需要考虑原始数据源(如业务表格)与实体表之间的映射。通常,一张原始单据对应一个实体,但也有特殊情况,如一对一...

    mysql数据库设计原则

    ### MySQL数据库设计原则详解 #### 一、引言 在当今数据驱动的世界中,数据库设计的质量直接影响着应用程序的性能和可扩展性。MySQL作为一款广泛使用的开源关系型数据库管理系统,其设计原则对于确保数据的一致性...

    数据库表设计的几点经验

    以下将详细讨论在设计数据库表时的一些关键经验和原则。 首先,让我们关注使用GUID(全局唯一标识符)作为主键。主键是数据库表中识别每条记录的独一无二的标识,它的选择至关重要。GUID因其全球唯一性,成为了理想...

    动态树形菜单数据库表设计

    在关系数据库设计过程中,遵循设计范式(如第一范式、第二范式等)是非常重要的原则之一,目的是减少数据冗余并确保数据结构合理,避免存储异常。然而,在实际应用中,适当地使用冗余数据反而能够提高数据查询效率和...

    oracle数据库设计原则

    以下是一些核心的数据库设计原则和技巧,特别针对Oracle数据库: 1. **第三范式(3NF)**:3NF是数据库设计中常见的规范化程度,旨在减少数据冗余和提高数据一致性。它要求表中的每个非主键字段都完全依赖于主键,...

    数据库表设计数据库表设计

    数据库表设计是构建高效、稳定、可扩展的数据库系统的核心环节。它涉及到多个关键知识点,包括...在实际应用中,如交友网站的设计,我们需要综合运用各种数据库设计原则和技术,以满足功能需求并提供良好的用户体验。

    数据库设计原则与技巧

    #### 一、数据库设计原则概述 数据库设计是构建高效、稳定、可扩展数据存储系统的关键步骤。优秀的数据库设计不仅能提高数据管理的效率,还能确保数据的一致性和完整性,降低后期维护成本。本文将重点讨论在Oracle...

    c06数据库表设计设计设计

    本文将深入探讨数据库表设计的关键知识点,包括数据规范化、关系模型、索引优化、表关联以及设计原则。 首先,数据规范化是数据库设计的基础。它旨在减少数据冗余,提高数据的一致性和完整性。第一范式(1NF)要求...

    大型数据库的设计原则与开发技巧

    【大型数据库的设计原则与开发技巧】 在当今信息化社会,数据库已成为支撑各类系统运行的核心部分,尤其是在大型系统中,数据库的设计质量直接影响着系统的性能和稳定性。本文将深入探讨大型数据库的设计原则与开发...

Global site tag (gtag.js) - Google Analytics