数据库表结构设计 数据库

数据库表结构设计

1.典型地质遗迹基本概况表

包括地理位置、园区范围、自然条件等组成(表6-2)。

表6-2 基本概况(JBGK.MDB)数据库结构表

数据项说明:

地质公园编号:前3位国别代码,按行政区划代码(GB/T2260-98)填写,后3位地质遗迹点的顺序号。当公园范围较大,跨国界时,其编号以主景区所在的区域为准进行编号,后6位为顺序号,保证地质遗迹编号的唯一性。

地质遗迹分类:为适应现阶段地质遗迹的调查,地质公园建设和发展规划、科学普及的开展,以系统地球科学理论为指导,赵汀(2009)提出了显性地质遗迹的概念并建立了学科分类系统,并在此基础上完成了中国国家地质公园地质遗迹分类。

2.景区、景点数据(表6-3,表6-4)

表6-3 景区表结构(JQ.MDB)表

表6-4 景点表结构(JD.MDB)表

景区和景点数据关系(表6-5)为一对多关系。即,一个景区至少有一处以上的景点,任意一个景点只能属于某一个景区。

数据库中的表结构设计方法

首先use
base_name
创建表create
table
table_name
(
输入:列名
类型,


或者想更直观点,在‘对象管资源理器’展开自己的数据库,点表右击‘新建表’,再输入列名和选类型

数据库结构设计包含的数据字典 表结构有哪些

你好:
数据字典(Data
dictionary)是一种用户可以访问的记录数据库和应用程序元数据的目录。主动数据字典是指在对数据库或应用程序结构进行修改时,其内容可以由DBMS自动更新的数据字典。被动数据字典是指修改时必须手工更新其内容的数据字典。
1数据字典是一个预留空间,一个数据库,这是用来储存信息数据库本身。
1数据字典可能包含的信息,例如:
数据库设计资料
储存的SQL程序
用户权限
用户统计
数据库的过程中的信息
数据库增长统计
数据库性能统计
数据字典则是系统中各类数据描述的集合,是进行详细的数据收集和数据分析所获得的主要成果.
数据字典通常包括数据项\数据结构\数据流\数据存储和处理过程五个部分.
数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合.
组成
1数据流
2数据流分量,即数据元素
3数据存储
4处理
数据字典
数据库的重要部分是数据字典。它存放有数据库所用的有关信息,对用户来说是一组只读的表。数据字典内容包括:
数据库中所有模式对象的信息,如表、视图、簇、及索引等。
分配多少空间,当前使用了多少空间等。
列的缺省值。
约束信息的完整性。
用户的名字。
用户及角色被授予的权限。
用户访问或使用的审计信息。
其它产生的数据库信息。
数据库数据字典是一组表和视图结构。它们存放在SYSTEM表空间中。
数据库数据字典不仅是每个数据库的中心。而且对每个用户也是非常重要的信息。用户可以用SQL语句访问数据库数据字典。
关于数据的信息集合,是一种用户可以访问的记录数据库和应用程序元数据的目录,是对数据库内表信息的物理与逻辑的说明

数据表设计考虑哪些问题

DB2数据库的性能与稳定性直接跟数据库对象的多少、大小有关。如果对象很少,不复杂,那么就算不怎么规划,也能够达到比较高的性能。如果对象数据比较多、比较大的话,那么就需要在数据库设计之前好好的规划,否则会在很大程度上影响数据库的性能与稳定性。
一、选择合适的语言与数据库字符集。
在企业中部署数据库的时候,首先需要在操作系统上安装数据库。而在安装数据库的时候,需要选择安装的语言环境。即是以中文状态下安装数据库还是以英文状态安装数据库。如在启动安装程序的时,可以利用/i language选项来指定安装过程中所采用的语言。到目前为止,DB2数据库已经支持很多种语言。那么数据库在安装过程中,该采用什么语言呢?笔者建议,只要数据库管理员有一点英语基础,最好能够采用英文语言环境来进行安装。虽然说现在DB2数据库的中文语言环境已经设计的比较完善,但是笔者仍然担心其有一些不知名的漏洞。为此笔者在安装DB2数据库的时候,基本上都采用的是英文语言环境来进行安装。即将语言设置为“EN”,表示英文。提高DB2数据备份与恢复的效率。
另外如果DB2 数据库中要保存英文以外的数据,或者说用户会使用不同的字符集访问数据库时,还需要在数据库安装过程中选择特定的数据库字符集。DB2数据库中的所有字符数据,包括数据字典中的数据,都是存储在数据库字符集中的。如果用户使用不同的字符集访问数据库时,数据库管理员就需要选择包含所有这些用户的字符集的超集。只有如此,才能够确保系统能够很方便的使用替代字符完成字符的转换,从而提高数据库的性能。如果用户选择的字符集不对,有可能会出现一些莫名其妙的问题。如一次用户在安装数据库过程中,没有选择合适的字符集。虽然在使用的过程中,其存储中文字符没有问题。但是当对数据库采取还原操作时,却发现还原后的数据库中有些原来是中文字符的地方,尽然出现了乱码。这主要就是没有选择合适的字符集惹的祸。有时候如果字符集选择不当的话,从外部数据源(如Excel表格)导入数据的时候,中文数据也会无法顺利导入。所以,数据库管理员在安装数据库的时候,需要根据实际企业,来选择合适的字符集。
二、评估数据库对象的大小、数量。
DB2数据库的性能与稳定性直接跟数据库对象的多少、大小有关。如果对象很少,不复杂,那么就算不怎么规划,也能够达到比较高的性能。如果对象数据比较多、比较大的话,那么就需要在数据库设计之前好好的规划,否则会在很大程度上影响数据库的性能与稳定性。其实DB2 数据库就好像一个仓库,数据库中的对象(如索引、数据表、表空间)等等就好像仓库中的货物。如果货物比较少,那么随便放放,仓库都显得很空旷。货物寻找起来也会很方便。但是如果货物数量比较多、比较大,就必须要对其存储空间进行合理规划。只有如此才能够让仓库的空间利用率达到最佳状态。并且货物的存放有序,在查找起来也特别的方便。笔者这里就以仓库管理为例,说话该如何做好数据库对象大小、数量等方便的评估,以及他们对于数据库性能与稳定性的影响。
1、根据对象大小来规划存储空间。在仓库货物的摆放上,要根据货物的大小来规划存储空间。或者说要首先防止大的货物。只有如此空间的利用率才会最高。其实在规划DB2对象的时候,也是如此。如某些表可能会包含的记录比较多,属于大表。此时数据库管理员就需要考虑,是否将其放置在一个独立的表空间或者硬盘空间上,以提高数据操作的性能。大表所对应的索引往往也是比较大的。为此在硬件条件允许的情况下,将索引表与数据表分别存放在不同的硬盘上,可以提高数据库的性能。而对于一些比较小的对象(如数据表),可以将它们存放在一个表空间中。其实这个表空间就好像仓库中的一个个纸盒子。将小的对象放入到这个“纸盒子”中,不但不占空间,而且也容易管理。
2、根据对象的使用频率来规划存放空间。在仓库中摆放物品的时候,往往会把近期就要用到的货物或者频繁需要用到的东西放在仓库门口或者容易拿到的地方。如此在拿这些货物时就会比较便捷,也不会对其他货物产生影响。对于DB2数据库中的对象来说,也是这么一回事。可以将那些访问量比较大的对象,如索引、数据表,存放在性能比较好的硬盘上或者单独的硬盘中。此时访问这些数据,就不会与其它对象产生I/O冲突,操作起来速度就会比较快。而将不怎么用到的对象,存放在一起。由于他们不怎么被用到,所以即使存放在性能比较低的硬盘上,其对数据库性能产生的负面影响也是非常有限的。 在DB2数据库里面如何更新执行计划
3、根据类别来存放数据库对象。在仓库中存放货物的时候,还会对其进行分类。然后根据类别来进行存放。这有利于货物的管理与检索。其实在数据库对象存储空间设计时,也需要考虑这个因素。如现在应用软件在设计的时候,很多都是根据模块来设计。那么在数据库对象设计时,也需要根据这个模块来设计存储的空间。如将同一个模块的数据库对象存放在同一个表空间内。不过这可能会跟上面的两个建立相违背。此时最好是在对象的命名上做文章。如可以根据模块的不同,分别给数据库对象取一个相同的前缀或者后缀。如即使同一块模块要用到多个表空间,此时就可以给表空间一个相同的前缀。如此在管理数据库对象的时候,根据表空间的前缀就可以判断其所属的模块了。如果再加上一个后缀来表示其数据库对象的分类,那么就更合理了。为此在管理数据库对象的时候,要执行分类管理。不仅要从技术上对其进行分类,如分为索引、数据表、关键字等等。还需要从功能上进行分类,如按应用程序的模块来进行分类等等。
三、设计好数据库备份与还原的方案。
在数据库交付生产使用之后,往往需要进行大量的测试。但是在测试过程中往往又会产生很多的垃圾数据。可是交给企业应用的,肯定是一个干净的数据库系统。为此在数据库设计的时候,就需要想好如果减少测试过程中的垃圾数据。或者采取什么样的方式来实现在交互时自动清除垃圾数据的机制。
一般来说,想要一个数据库备份与还原的方案,减少数据库测试所产生的垃圾数据。如现在在给企业部署数据库的时候,往往是先安装一个干净的数据库系统。当然字符集这些需要预先设置好。然后再利用数据库还原功能将预先定义好的数据库模型还原出来。
另外有些时候需要两个方案互为补充。如在数据库初始化的过程中,采用数据库还原的方式来创建数据库对象。但是在应用软件升级的时候,由于此时已经有了用户的数据,为此不能够在使用数据库还原的方法。而是通过应用程序来执行某些SQL代码,来调整或者增加部分数据库对象。无论采用哪一种方式,需要遵循的一个原则就是在给企业创建数据库对象时要最大限度的减少测试。而要做到这一点,就是需要先在测试服务器上创建对象并测试对象可用。然后直接将相关的SQL代码在投入使用的数据库服务器上执行。

数据库问题:【站内发送消息】如何设计表结构

1) 不应该针对整个系统进行数据库设计,而应该根据系统架构中的组件划分,针对每个组件所处理的业务进行组件单元的数据库设计;不同组件间所对应的数据库表之 间的关联应尽可能减少,如果不同组件间的表需要外键关联也尽量不要创建外键关联,而只是记录关联表的一个主键,确保组件对应的表之间的独立性,为系统或表 结构的重构提供可能性。
2)采用领域模型驱动的方式和自顶向下的思路进行数据库设计,首先分析系统业务,根据职责定义对象。对象要符合封 装的特性,确保与职责相关的数据项被定义在一个对象之内,这些数据项能够完整描述该职责,不会出现职责描述缺失。并且一个对象有且只有一项职责,如果一个 对象要负责两个或两个以上的职责,应进行分拆。
3)根据建立的领域模型进行数据库表的映射,此时应参考数据库设计第二范式:一个表中的所 有非关键字属性都依赖于整个关键字。关键字可以是一个属性,也可以是多个属性的集合,不论那种方式,都应确保关键字能够保证唯一性。在确定关键字时,应保 证关键字不会参与业务且不会出现更新异常,这时,最优解决方案为采用一个自增数值型属性或一个随机字符串作为表的关键字。
4)由于第一点所述的领域模型驱动的方式设计数据库表结构,领域模型中的每一个对象只有一项职责,所以对象中的数据项不存在传递依赖,所以,这种思路的数据库表结构设计从一开始即满足第三范式:一个表应满足第二范式,且属性间不存在传递依赖。
5)同样,由于对象职责的单一性以及对象之间的关系反映的是业务逻辑之间的关系,所以在领域模型中的对象存在主对象和从对象之分,从对象是从1-N 或N-N的角度进一步主对象的业务逻辑,所以从对象及对象关系映射为的表及表关联关系不存在删除和插入异常。
6) 在映射后得出的数据库表结构中,应再根据第四范式进行进一步修改,确保不存在多值依赖。这时,应根据反向工程的思路反馈给领域模型。如果表结构中存在多值 依赖,则证明领域模型中的对象具有至少两个以上的职责,应根据第一条进行设计修正。第四范式:一个表如果满足BCNF,不应存在多值依赖。
7) 在经过分析后确认所有的表都满足二、三、四范式的情况下,表和表之间的关联尽量采用弱关联以便于对表字段和表结构的调整和重构。并且,我认为数据库中的表 是用来持久化一个对象实例在特定时间及特定条件下的状态的,只是一个存储介质,所以,表和表之间也不应用强关联来表述业务(数据间的一致性),这一职责应 由系统的逻辑层来保证,这种方式也确保了系统对于不正确数据(脏数据)的兼容性。当然,从整个系统的角度来说我们还是要尽最大努力确保系统不会产生脏数 据,单从另一个角度来说,脏数据的产生在一定程度上也是不可避免的,我们也要保证系统对这种情况的容错性。这是一个折中的方案。
8)应针 对所有表的主键和外键建立索引,有针对性的(针对一些大数据量和常用检索方式)建立组合属性的索引,提高检索效率。虽然建立索引会消耗部分系统资源,但比 较起在检索时搜索整张表中的数据尤其时表中的数据量较大时所带来的性能影响,以及无索引时的排序操作所带来的性能影响,这种方式仍然是值得提倡的。
9) 尽量少采用存储过程,目前已经有很多技术可以替代存储过程的功能如“对象/关系映射”等,将数据一致性的保证放在数据库中,无论对于版本控制、开发和部 署、以及数据库的迁移都会带来很大的影响。但不可否认,存储过程具有性能上的优势,所以,当系统可使用的硬件不会得到提升而性能又是非常重要的质量属性 时,可经过平衡考虑选用存储过程。
10)当处理表间的关联约束所付出的代价(常常是使用性上的代价)超过了保证不会出现修改、删除、更改 异常所付出的代价,并且数据冗余也不是主要的问题时,表设计可以不符合四个范式。四个范式确保了不会出现异常,但也可能由此导致过于纯洁的设计,使得表结 构难于使用,所以在设计时需要进行综合判断,但首先确保符合四个范式,然后再进行精化修正是刚刚进入数据库设计领域时可以采用的最好办法。
11)设计出的表要具有较好的使用性,主要体现在查询时是否需要关联多张表且还需使用复杂的SQL技巧。
12)设计出的表要尽可能减少数据冗余,确保数据的准确性,有效的控制冗余有助于提高数据库的性能。

1,数据库表结构如何设计,有哪些表,分别有什么作用

一般可将数据库结构设计分为四个阶段,即需求分析、概念结构设计、逻辑结构设计和物理设计。
数据字典(Data Dictionary DD)用于记载系统定义的或中间生成的各种数据、数据元素,以及常量、变量、数组及其他数据单位,说明它们的名字、性质、意义及各类约束条件,是系统开发与维护中不可缺少的重要文件。数据与数据元素分别用数据表、数据元素表记载。其中,数据号是设计人员给定的顺序编号,用于分类清查与整理,并且与数据元素代码相关联。数据名是原有表格或凭证的名称。

什么是数据库表结构

表结构就是定义一个表的字段、类型、主键、外键、索引,这些基本的属性组成了数据库的表结构

例如:

create table student (

id int primarykey,

name varchar,

sex varchar,

age varchar)

id、name、sex这些就是字段,int varchar就是数据类型,primarykey为设置主键。

数据库是以一定方式储存在一起、能与多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合,可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据进行新增、查询、更新、删除等操作。

数据库是存放数据的仓库。它的存储空间很大,可以存放百万条、千万条、上亿条数据。但是数据库并不是随意地将数据进行存放,是有一定的规则的,否则查询的效率会很低。当今世界是一个充满着数据的互联网世界,充斥着大量的数据。即这个互联网世界就是数据世界。数据的来源有很多,比如出行记录、消费记录、浏览的网页、发送的消息等等。除了文本类型的数据,图像、音乐、声音都是数据。

扩展资料:

数据库管理系统其防护手段主要有以下八点:

1、使用正版数据库管理系统并及时安装相关补丁。

2、做好用户账户管理,禁用默认超级管理员账户或者为超级管理员账户设置复杂密码;为应用程序分别分配专用账户进行访问;设置用户登录时间及登录失败次数限制, 防止暴力破解用户密码。

3、分配用户访问权限时,坚持最小权限分配原则,并限制用户只能访问特定数据库,不能同时访问其他数据库。

4、修改数据库默认访问端口,使用防火墙屏蔽掉对 外开放的其他端口,禁止一切外部的端口探测行为。

5、对数据库内存储的重要数据、敏感数据进行加密存储,防止数据库备份或数据文件被盗而造成数据泄露。

6、设置好数据库的备份策略,保证数据库被破坏后能迅速恢复。

7、对数据库内的系统存储过程进行合理管理,禁用掉不必要的存储过程,防止利用存储过程进行数据库探测与攻击。

8、启用数据库审核功能,对数据库进行全面的事件跟踪和日志记录。

参考资料来源:百度百科-数据库