数据库逻辑结构大全(精)

数据库逻辑结构大全(精)
数据库逻辑结构大全(精)

Oracle数据库逻辑结构

2.1.1Oracle系统体系结构

话说与其他数据库产品不同,Oracle有其自己独特的系统体系结构。Oracl e系统体系结构是整个Oracle服务器系统的框架,是管理和应用Oracle数据服务器的基础和核心。

Oracle系统体系结构由三部分组成:逻辑结构、物理结构和实例。其中,实例是维系物理结构和逻辑结构的核心,如图2-1和图2-2所示。图2-1表明了数据库三级模式及其物理文件之间的关系。

图2-1 数据库模式及其物理文件关系示意图

图2-2 Oracle系统体系结构与功能

不论是Oracle的应用开发还是数据库管理都是以实例作为切入点的。只不过Oracle的应用程序开发主要是以数据库的逻辑对象为主(如表、索引和视图等),而数据库管理则是针对数据库的全部内容。Oracle数据库由构成物理结构的各种文件组成,如数据文件、控制文件和重做日志文件等;实例是Oracle在内存中分配的一段区域SGA和服务器后台进程的集合。Oracle数据库服务器就是数据库和实例的组合。

2.1.2Oracle逻辑结构

Oracle的逻辑结构是一种层次结构。主要由:表空间、段、区和数据块等概念组成。逻辑结构是面向用户的,用户使用Oracle开发应用程序使用的就是逻辑结构。数据库存储层次结构及其构成关系,结构对象也从数据块到表空间形成了不同层次的粒度关系,如图2-3和图2-4所示。

图2-3 Oracle 10g数据库层次结构图图2-4 段、区和数据块之间的关系

1.数据块

Oracle数据块(Data Block)是一组连续的操作系统块。分配数据库块大小是在Oracle数据库创建时设置的,数据块是Oracle读写的基本单位。数据块的大小一般是操作系统块大小的整数倍,这样可以避免不必要的系统I/O操作。从Oracle9i开始,在同一数据库中不同表空间的数据块大小可以不同。数据块是O racle最基本的存储单位,而表空间、段、区间则是逻辑组织的构成成员。在数据库缓冲区中的每一个块都是一个数据块,一个数据块不能跨越多个文件。

数据块的结构主要包括:

·标题:包括一般的块信息,如块地址,段类型等。

·表目录:包括有关表在该数据块中的行信息。

·Oracle体系结构第2章 行目录:包括有关在该数据块中行地址等信息。 ·行数据:包括表或索引数据。一行可跨越多个数据块。

·空闲空间:分配空闲空间是用于插入新的行和需要额外空间的行更新。

通过空间管理参数pctfree可控制空闲空间的使用。空闲空间的管理既可以是自动的也可以是手动的。

在数据操作中,有两种语句可以增加数据库块的空闲空间:一个是Delete 删除语句,另一个是Update更新现有行。释放的空闲空间可用于insert语句,如果insert语句是与产生空闲空间的语句在同一个事务之中,并在其后执行,则insert语句可直接使用生成的空闲空间。如果insert语句是在一个与产生空闲空间的语句相分离的事务中,则insert语句可在其他事务提交后,并在其需要空间时,使用之前产生的空闲空间。

数据块中释放的空间可能是连续的,也可能不连续。Oracle只有在出现下列情况时,才会合并数据块的空闲空间:当insert或update语句要使用一个数据块,该数据块的空闲空间足以存储新的一行,而且空闲空间均是碎片,数据块中连续空间无法插入一行的时候。除此而外,Oracle在系统性能下降时也需要压缩数据块的空间。

能够对空闲空间产生影响的参数有两个:pctfree和pctused。对于手工管理的表空间,在特定段中的所有数据块,可使用两个空间管理参数pctfree和p ctused来控制insert和update对空闲空间的使用。当创建或修改表时可指定这两个参数。创建或修改一个拥有自己的索引段的索引时可指定pctfree参数。

pctfree参数为块中行的更新预留了空闲空间的最小百分比,默认值为10。例如,假定在Create table语句中指定了pctfree为20,则说明在该表的数据段内每个数据块的20%被作为可利用的空闲空间,用于更新已在数据块内存在的数据行。其余80%是用于插入新的数据行,直到达到80%为止。显然,pctfree 值越小,则为现存行更新所预留的空间越少。因此,如果pctfree设置得太高,则在全表扫描期间增加I/O,浪费磁盘空间;如果pctfree设置得太低,则会导致行迁移。

pctused参数设置了数据块是否是空闲的界限。当数据块的使用空间低于pc tused的值时,此数据块标志为空闲,该空闲空间仅用于插入新的行。如果数据块已经达到了由pctfree所确定的上边界时,Oracle就认为此数据块已经无法

再插入新的行。例如,假定在Create table语句中指定pctused为40,则当小于或等于39时,该数据块才是可用的。所以,可将数据块填得更满,这样可节省空间,但却增加了处理开销,因为数据块的空闲空间总是要被更新的行占据,所以对数据块需要频繁地进行重新组织。比较低的pctused增加了数据库的空闲空间,但减少了更新操作的处理开销。所以,如果pctused设置过高,则会降低磁盘的利用率导致行迁移;若pctused设置过低,则浪费磁盘空间,增加全表扫描时的I/O输出。pctused是与pctfree相对的参数。

那么,如何选择pctfree和pctused的值呢?有个公式可供参考。显然,pc tfree和pctused的之和不能超过100。若两者之和低于100,则空间的利用与系统的I/O之间的最佳平衡点是:pctfree与pctused之和等于100%减去一行的大小占块空间大小的百分比。例如,如果块大小为2048字节,则它需要100个字节的开销,而行大小是390字节(为可用块的20%)。为了充分利用空间,pc tfree与pctused之和最好为80%。

那么,怎样确定数据块大小呢?有两个因素需要考虑:

一是数据库环境类型。例如,是DSS环境还是OLTP环境?在数据仓库环境(OLAP或DSS)下,用户需要进行许多运行时间很长的查询,所以应当使用大的数据块。在OLTP系统中,用户处理大量的小型事务,采用较小数据块能够获得更好的效果。

二是SGA的大小。数据库缓冲区的大小由数据块大小和初始化文件的db_block_ buffers参数决定。最好设为操作系统I/O的整数倍。

2.区

区(Extent)也称为数据区,是一组连续的数据块。当一个表、回滚段或临时段创建或需要附加空间时,系统总是为之分配一个新的数据区。一个数据区不能跨越多个文件,因为它包含连续的数据块。使用区的目的是用来保存特定数据类型的数据,也是表中数据增长的基本单位。在Oracle数据库中,分配空间就是以数据区为单位的。一个Oracle对象包含至少一个数据区。设置一个表或索引的存储参数包含设置它的数据区大小。

3.段

段(Segment)是由多个数据区构成的,它是为特定的数据库对象(如表段、索引段、回滚段、临时段)分配的一系列数据区。段内包含的数据区可以不连续,并且可以跨越多个文件。使用段的目的是用来保存特定对象。

一个Oracle数据库有4种类型的段:

·数据段:数据段也称为表段,它包含数据并且与表和簇相关。当创建一个表时,系统自动创建一个以该表的名字命名的数据段。

·索引段:包含了用于提高系统性能的索引。一旦建立索引,系统自动创建一个以该索引的名字命名的索引段。

·回滚段:包含了回滚信息,并在数据库恢复期间使用,以便为数据库提供读入一致性和回滚未提交的事务,即用来回滚事务的数据空间。当一个事务开始处理时,系统为之分配回滚段,回滚段可以动态创建和撤销。系统有个默认的回滚段,其管理方式既可以是自动的,也可以是手工的。

·临时段:它是Oracle在运行过程中自行创建的段。当一个SQL语句需要临时工作区时,由Oracle建立临时段。一旦语句执行完毕,临时段的区间便退回给系统。

4.表空间

Oracle数据库(tablespace)是由若干个表空间构成的。任何数据库对象在存储时都必须存储在某个表空间中。表空间对应于若干个磁盘文件,即表空间是由一个或多个磁盘文件构成的。表空间相当于操作系统中的文件夹,也是数据库逻辑结构与物理文件之间的一个映射。每个数据库至少有一个表空间,表空间的大小等于所有从属于它的数据文件大小的总和。

在Oracle 10g中有以下几种比较特殊的表空间:

(1)系统表空间

系统表空间(system tablespace)是每个Oracle数据库都必须具备的。其功能是在系统表空间中存放诸如表空间名称、表空间所含数据文件等数据库管理所需的信息。系统表空间的名称是不可更改的。系统表空间必须在任何时候都可以用,也是数据库运行的必要条件。因此,系统表空间是不能脱机的。

系统表空间包括数据字典、存储过程、触发器和系统回滚段。为避免系统表空间产生存储碎片以及争用系统资源的问题,应创建一个独立的表空间用来单独存储用户数据。

(2)SYSAUX表空间

SYSAUX表空间是随着数据库的创建而创建的,它充当SYSTEM的辅助表空间,主要存储除数据字典以外的其他对象。SYSAUX也是许多Oracle 数据库的默认表空间,它减少了由数据库和DBA管理的表空间数量,降低了SYSTEM表空间的负荷。

(3)临时表空间

相对于其他表空间而言,临时表空间(temp tablespace)主要用于存储Or acle数据库运行期间所产生的临时数据。数据库可以建立多个临时表空间。当数据库关闭后,临时表空间中所有数据将全部被清除。除临时表空间外,其他表空间都属于永久性表空间。

(4)撤销表空间

用于保存Oracle数据库撤销信息,即保存用户回滚段的表空间称之为回滚表空间(或简称为RBS撤销表空间(undo tablespace))。在Oracle8i中是r ollback tablespace,从Oracle9i开始改为undo tablespace。在Oracle 10g 中初始创建的只有6个表空间sysaux、system、temp、undotbs1、example和u sers。其中temp是临时表空间,undotbs1是undo撤销表空间。图2-5是表空间与数据库及数据文件之间的对应关系。

图2-5 表空间与数据库及数据文件之间的对应关系

2.1.3管理表空间

在管理表空间时应遵循以下原则:

1)使用多重表空间。采用多重表空间可使数据库操作更灵活。主要体现在以下方面:

·将用户数据与数据字典数据相分离,并将不同表空间的数据文件分别存储在不同磁盘上可以降低I/O竞争。

·将一个应用的数据与其他应用相分离,可以避免表空间脱机时多个应用受到影响。

·可根据需要将单个表空间脱机,从而获得较好的可用性。

·通过为不同类型的数据库预留表空间,以达到优化表空间的目的,如更新较高的或只读,或临时段存储等。

·备份单个表空间。

2)为用户指定表空间限额。要创建、管理与使用表空间,必须首先以sys 用户并以as sysdba身份登录数据库。与Oracle9i不同,在Oracle 10g中,启动SQL*Plus时的帐户和口令不需加引号。命令格式是:

sqlplus sys/as sysdba

在Oracle 10g中,创建和管理表空间所使用的数据字典和权限及语句可归纳如下。

1.与表空间有关的数据字典

查询和使用与表空间有关的元数据均可从下列数据字典中获得。主要包括:dba_tablespaces、dba_users、dba_ts_quotas、user_tablespaces、user_ts_ quotas、user_extents、user_segments、user_free_space、dba_data_files、dba_extents、dba_free_space、dba_segments、dba_temp_files、dba_undo_e xtents、dba_rollback_segs、dba_data_files、v_$backup_datafile、v_$dat abase_block_corruption、v_$datafile、v_$datafile_copy、v_$datafile_he ader、v_$rollstat、v_$segment_statistics、v_$undostat等。以v_$开头的数据字典均保存为动态信息。

2.与使用表空间有关的系统权限

与表空间有关的主要系统权限有:create tablespace、alter tablespace、drop tablespace、manage tablespace和unlimited tablespace等。

其中,unlimited tablespace是允许用户无限制地访问所有表空间。出于安全考虑,在授予该权限给用户时应慎重。如果用户不需要该系统权限,最好撤销该权限,否则用户会利用该权限蓄意创建大量对象或复制数据,从而塞满表空间导致数据库服务器崩溃。

3.创建永久性的表空间

命令格式:

SQL>create[undo]tablespace tablespace

[datafile filespec[autoextend_clause][,filespec[autoextend_claus e]]...]

[{minimum extent integer[ k|m]|blocksize integer[k]|{logging|nologging}

|default storage_clause|{online|offline}

|{permanent|temporary}|extent_management_clause|segment_managem ent_clause

}

[ minimum extent integer[k|m]|blocksize integer[k]

|{logging|nologging}|default storage_clause|{online|offline}

|{permanent|temporary}|extent_management_clause|segment_managem ent_clause

]...

];

【例2-1】创建一个名为dalianren的表空间

SQL>create tablespace dalianren nologging

datafile′D:\oracle\product\10.2.0\oradata\dalianren\dalianren01. ora′size 50m blocksize 8192

extent management local uniform size 256k

segment space management auto;

4.使一个表空间脱机

命令格式:

SQL>alter tablespaceoffline;

【例2-2】将表空间dalianren脱机

SQL>alter tablespace dalianren offline;

注意 system表空间不能脱机。

5.使一个表空间联机

命令格式:

SQL>alter tablespaceonline;

【例2-3】将表空间dalianren联机

SQL>alter tablespace dalianren online;

6.使表空间只读

命令格式:

SQL>alter tablespaceread only;

【例2-4】将表空间dalianren更改为只读

SQL>alter tablespace dalianren read only;

7.使表空间可读可写

命令格式:

SQL>alter tablespaceread write;

【例2-5】将表空间dalianren更改为可读写

SQL>alter tablespace dalianren read write;

8.创建临时表空间

命令格式:

SQL>create temporary tablespace

tempfile′

sizem autoextend

extent management local uniform size;

【例2-6】创建临时表空间temp

SQL>create temporary tablespace temp

tempfile ′D:\ oracle\product\10.2.0\oradata dalian\temp01.or a′

size 500m autoextend off

extent management local uniform size 512k;

注意虽然语句alter tablespace中带有temporary关键字,但不能使用带有temporary关键字的alter tablespace语句将一个本地管理的永久表空间转变为本地管理的临时表空间。必须使用create temporary tablespace语句直接创建本地管理的临时表空间。

9.添加临时表空间的数据文件

命令格式:

SQL>alter tablespaceadd tempfile ′′sizem;

【例2-7】为临时表空间temp_ren添加数据文件

SQL>alter tablespace temp_ren add tempfile ′D:\oracle\product\10.

2.0\oradata\dalian\temp_ren.dbf′size 100m;

10.调整临时表空间的数据文件

命令格式:

SQL>alter database tempfile ′′resizem;

【例2-8】调整临时表空间的数据文件大小

SQL>alter database tempfile ′D:\oracle\product\10.2.0\oradata\ test \temp_ren.ora′ resize 20m;

11.将表空间的数据文件或临时文件脱机

命令格式:

SQL>alter database datafile′′ offline;

SQL>alter database tempfile ′′ offline;

【例2-9】将表空间的数据文件或临时文件脱机

SQL>alter database datafile ′D:\oracle\product\10.2.0\oradata \dalian\temp_ren.ora′ offline;

SQL>alter database tempfile ′D:\oracle\product\10.2.0\oradata \dalian\temp_ren.ora′offline;

12.将临时表空间联机

命令格式:

SQL>Alter database tempfile ′′online;

【例2-10】将临时表空间联机

SQL>Alter database tempfile ′D:\oracle\product\10.2.0\oradata\ dalian\temp_ren.ora′ online;

13.删除表空间,但不删除其文件

命令格式:

SQL>drop tablespace;

【例2-11】删除表空间dalianren,但不删除其文件

SQL>drop tablespace dalianren;

14.删除包含目录内容的表空间

命令格式:

SQL>drop tablespaceincluding contents;

【例2-12】删除表空间dalianren及其包含的内容

SQL>drop tablespace dalianren including contents;

15.删除包含目录内容和数据文件在内的表空间

命令格式:

SQL>drop tablespaceincluding contents and datafi les;

【例2-13】删除表空间dalianren及其包含的内容以及数据文件

SQL>drop tablespace dalianren including contents and datafiles; 16.当含有参照性约束时,删除包含目录内容和数据文件在内的表空间命令格式:

SQL>drop tablespaceincluding contents and datafi les cascade constraints;

【例2-14】将表空间dalianren及其包含的内容、数据文件以及相关约束一同删除

SQL>drop tablespace dalianren including contents and datafiles ca scade constraints;

17.表空间更名

Oracle9i中不能直接将表空间更名。在Oracle 10g可直接更名永久表空间和临时表空间。但是,system和sysaux表空间不能更名。

命令格式:

SQL>alter tablespacerename to;

【例2-15】将表空间users更改为newusers

SQL>alter tablespace users rename to newusers;

在Oracle 10g中,如果一个撤销表空间通过使用pfile的实例被更名,则警告日志文件中将写入一个信息,提醒用户更改undo_tablespace的参数值。

注意当使用drop tablespace误删除了表空间之后,通过查看alert文件可以确定误操作的时间。该文件位于Oracle_Home\admin\\bdump目录下,名为alert_.log,如:D:\oracle\product\10.2.0\admin\test\bdump目录下的alert_test.log文件。

18.多重临时表空间

在Oracle 10g中增加了一个表空间组的概念,通过使用表空间组用户可以使用一个以上的表空间存储临时段。表空间组是在第一个表空间被指定给该组时,由系统自动隐式创建的。例如:

通过添加现有的表空间创建表空间组。

SQL>alter tablespace temp tablespace group temp_ts_group;

添加一个新的表空间给该已经创建的表空间组。

SQL>create temporary tablespace temp2

tempfile ′D:\oracle\product\10.2.0\oradata\test\temp201.db

f ′ size 20m tablespace group temp_ts_group;

被指定给组的表空间可在视图中查询得到。

SQL>select*from dba_tablespace_groups;

group_nametablespace_name

------------------------------------------------------------

temp_ts_grouptemp

temp_ts_grouptemp2

2 rows selected.

SQL>

一旦创建了表空间组,就可以将其指定给用户或作为默认的临时表空间,就像一个表空间一样。

·将表空间组指定给用户,作为临时表空间。

SQL>alter user scott temporary tablespace temp_ts_group;

·将表空间组作为默认的临时表空间。

SQL>alter database default temporary tablespace temp_ts_group;

·表空间也可以从表空间组中移出。

SQL>alter tablespace temp2 tablespace group;

·查询表空间组。

SQL>select*from dba_tablespace_groups;

group_nametablespace_name

------------------------------------------------------------

temp_ts_grouptemp

1 row selected.

SQL>

理论上,一个表空间组包含多少表空间是没有最大限制的,但必须至少包含一个表空间。当最后一个表空间被删除后,该表空间组也被隐式地删除。若该表空间组仍然被指定做临时表空间,则不可以删除该组中的最后一个表空间成员。同时,表空间组不能与表空间同名。

2.1.4表空间的相关查询

列出表空间、表空间的文件、分配的空间、空闲空间以及下一个空闲分区,如下所示。

set linesize 132

set pagesize 60

col tablespace_name format a12

col file_name format a38

col tablespace_kb heading ′TABLESPACE|TOTAL KB′

col kbytes_free heading ′TOTAL FREE|KBYTES′

select ddf.tablespace_name tablespace_name,ddf.file_name file_ name,ddf.bytes/1024 tablespace_kb,

sum(fs.bytes)/1024 kbytes_free,max(fs.bytes)/1024 next_free

from sys.dba_free_space fs,sys.dba_data_files ddf

where ddf.tablespace_name=fs.tablespace_name

group by ddf.tablespace_name,ddf.file_name,ddf.bytes/1024

order by ddf.tablespace_name,ddf.file_name;

列出数据文件,表空间名以及大小,如下所示。

col file_name format a50

col tablespace_name format a10

select file_name,tablespace_name,round(bytes/1024000) MB

from dba_data_files

order by file_name;

列出表空间、大小、空闲空间以及空闲空间的百分比,如下所示。

select ddf.tablespace_name,sum(ddf.bytes) total_space,sum(dfs.b ytes) free_space,

round(((nvl(sum(dfs.bytes),0)/sum(ddf.bytes))*100),2) pct_free from dba_free_space dfs,dba_data_files ddf

where ddf.tablespace_name=dfs.tablespace_name (+)

group by ddf.tablespace_name

order by ddf.tablespace_name;

计算表空间每个数据文件实际的最小空间以及对应的文件名,其大小与磁盘操作系统中显示的不同,如下所示。该语句运行需要较长时间。

Select substr(df.file_name,1,70) filename,max(de.block_id*

(de.bytes/de.blocks)+de.bytes)/1024 min_size

from dba_extents de,dba_data_files df

where de.file_id=df.file_id

group by df.file_name;

数据库表结构设计参考

数据库表结构设计参考

表名外部单位表(DeptOut) 列名数据类型(精度范围)空/非空约束条件 外部单位ID 变长字符串(50) N 主键 类型变长字符串(50) N 单位名称变长字符串(255) N 单位简称变长字符串(50) 单位全称变长字符串(255) 交换类型变长字符串(50) N 交换、市机、直送、邮局单位邮编变长字符串(6) 单位标识(英文) 变长字符串(50) 排序号整型(4) 交换号变长字符串(50) 单位领导变长字符串(50) 单位电话变长字符串(50) 所属城市变长字符串(50) 单位地址变长字符串(255) 备注变长字符串(255) 补充说明该表记录数约3000条左右,一般不做修改。初始化记录。 表名外部单位子表(DeptOutSub) 列名数据类型(精度范围)空/非空约束条件 外部子单位ID 变长字符串(50) N 父ID 变长字符串(50) N 外键 单位名称变长字符串(255) N 单位编码变长字符串(50) 补充说明该表记录数一般很少 表名内部单位表(DeptIn) 列名数据类型(精度范围)空/非空约束条件 内部单位ID 变长字符串(50) N 主键 类型变长字符串(50) N 单位名称变长字符串(255) N 单位简称变长字符串(50) 单位全称变长字符串(255) 工作职责 排序号整型(4) 单位领导变长字符串(50) 单位电话(分机)变长字符串(50) 备注变长字符串(255)

补充说明该表记录数较小(100条以内),一般不做修改。维护一次后很少修改 表名内部单位子表(DeptInSub) 列名数据类型(精度范围)空/非空约束条件内部子单位ID 变长字符串(50) N 父ID 变长字符串(50) N 外键 单位名称变长字符串(255) N 单位编码变长字符串(50) 单位类型变长字符串(50) 领导、部门 排序号Int 补充说明该表记录数一般很少 表名省、直辖市表(Province) 列名数据类型(精度范围)空/非空约束条件ID 变长字符串(50) N 名称变长字符串(50) N 外键 投递号变长字符串(255) N 补充说明该表记录数固定 表名急件电话语音记录表(TelCall) 列名数据类型(精度范围)空/非空约束条件ID 变长字符串(50) N 发送部门变长字符串(50) N 接收部门变长字符串(50) N 拨打电话号码变长字符串(50) 拨打内容变长字符串(50) 呼叫次数Int 呼叫时间Datetime 补充说明该表对应功能不完善,最后考虑此表 表名摄像头图像记录表(ScreenShot) 列名数据类型(精度范围)空/非空约束条件ID 变长字符串(50) N 拍照时间Datetime N 取件人所属部门变长字符串(50) N 取件人用户名变长字符串(50) 取件人卡号变长字符串(50) 图片文件BLOB/Image

数据库设计各阶段

1.数据库应用系统的设计步骤 按规范设计的方法可将数据库设计分为以下六个阶段 (1)需求分析; (2)概念结构设计; (3)逻辑结构设计; (4)数据库物理设计; (5)数据库实施; (6)数据库运行和维护。 2.需求分析 需求收集和分析是数据库应用系统设计的第一阶段。明确地把它作为数据库应用系统设计的第一步是十分重要的。这一阶段收集到的基础数据和一组数据流图(Data Flow Diaˉgram———DFD)是下一步设计概念结构的基础。概念结构对整个数据库设计具有深刻影响。而要设计好概念结构,就必须在需求分析阶段用系统的观点来考虑问题、收集和分析数据及其处理。如何分析和表达用户需求呢?在众多的分析方法中,结构化分析(Structured Analysis,简称SA方法)是一个简单实用的方法。SA方法用自顶向下、逐层分解的方式分析系统。用数据流图,数据字典描述系统。然后把一个处理功能的具体内容分解为若干子功能,每个子功能继续分解,直到把系统的工作过程表达清楚为止。在处理功能逐步分解的同时,它们所用的数据也逐级分解。形成若干层次的数据流图。数据流图表达了数据和处理过程的关系。处理过程的处理逻辑常常用判定表或判定树来描述。数据字典(Data Dictionary,简称DD)则是对系统中数据的详尽描述,是各类数据属性的清单。对数据库应用系统设计来讲,数据字典是进行详细的数据收集和数据分析所获得的主要结果。数据字典是各类数据描述的集合,它通常包括以下5个部分: (1)数据项,是数据最小单位。 (2)数据结构,是若干数据项有意义的集合。 (3)数据流,可以是数据项,也可以是数据结构。表示某一处理过程的输入输出。 (4)数据存储,处理过程中存取的数据。常常是手工凭证、手工文档或计算机文件。 (5)处理过程。

进销存数据库表结构设计

1.帐类表(KIND) 无索引 序号中文名称英文名称类型备注 1 帐类编号K_SERIAL byte 2 帐类名称K_NAME text*10 本表系统自动建立,共划分为15种帐类,不可增删 帐类编号帐类名称备注 0 上期结存进货,不参加进货统计 1 购入进货,购入时必需输入供货单位名称 2 自制进货 3 投资转入进货 4 盘盈进货 5 领料出库,领料必需输入领料部门名称 6 调拨出库 7 报损出库 8 盘亏出库 9 退库对低值易耗品,在用品退为在用库存 10 直接报废对于低值易耗品,在用品转报废 11 领用对于低值易耗品,在用库存转在用 12 调拨对于低值易耗品,在用库存减少 13 报废对于低值易耗品,在用库存报废 14 直进直出进出库,购入与领料对库存无影响 2.物品表(GOODS) 序号索引名称索引域唯一? 主索引? 1 G_CODING +G_CODING Y N 2 G_SERIAL +G_SERIAL Y Y 序号中文名称英文名称类型备注 1 物品内部编号G_SERIAL INT->long 系统内部唯一标识该物品 2 物品编号G_CODING TEXT * 10 用户使用此编号访问物品 &3 物品名称G_NAME TEXT*40 非空 &4 物品单位G_UNIT TEXT*8 非空 &5 物品规格G_STATE TEXT*20

6 物品类别G_CLASS INT 取自表CLASS 7 备注G_REMARKS MEMO 8 最小库存量G_MIN CURRENCY 为零,即无最小库存 9 最大库存量G_MAX CURRENCY 为零,即无最大库存 10 库存数量G_QUANT CURRENCY 控制出库数量 11 虚拟库存数量G_VQUANT CURRENCY 出库时用 12 库存金额G_AMOUNT CURRENCY 3.类别表(CLASS) 序号索引名称索引域唯一? 主索引? 1 C_CODING +C_CODING Y N 2 C_SERIAL +C_SERIAL Y Y 序号中文名称英文名称类型备注 1 类别内部序号C_SERIAL INT 系统内部唯一标识该物品 2 类别编号C_CODING TEXT *10 用户使用该编号访问类别信息 3 类别名称C_NAME TEXT*20 非空 4 出库类型C_KIND BYTE 1.移动平均 2..先进先出 3.后进先出 4.实际计价 *5.月末平均 5 备注C_REMARKS MEMO *6 底标志C_BOTTOM BOOLEAN *7 类别级别C_LEVEL BYTE 4.供货单位、使用部门(DEPART) 序号索引名称索引域唯一? 主索引? 1 D_CODING +D_CODING Y N 2 D_SERIAL +D_SERIAL Y Y 序号中文名称英文名称类型备注 1 内部序号D_SERIAL INT 系统内部唯一标识该部门 >0 供货单位 =0 库房 <0 使用部门 2 单位编号D_CODING TEXT*10

数据库设计实例需求分析、概念结构、逻辑结构

数据库设计实例分析 一、需求分析实例 现要开发高校图书管理系统。经过可行性分析和初步的需求调查,确定了系统的功能边界,该系统应能完成下面的功能: (1)读者注册。 (2)读者借书。 (3)读者还书。 (4)图书查询。 1、数据流图 顶层数据流图反映了图书管理系统与外界的接口,但未表明数据的加工要求,需要进一步细化。根据前面图书管理系统功能边界的确定,再对图书管理系统顶层数据流图中的处理功能做进一步分解,可分解为读者注册、借书、还书和查询四个子功能,这样就得到了图书管理系统的第0层数据流图 从图书管理系统第0层数据流图中可以看出,在图书管理的不同业务中,借书、还书、查询这几个处理较为复杂,使用到不同的数据较多,因此有必要对其进行更深层次的分析,即构建这些处理的第1层数据流图。下面的图8-7分别给出了借书、还书、查询子功能的第1层数据流图 2、数据字典 数据项 数据项名称:借书证号 别名:卡号 含义说明:惟一标识一个借书证 类型:字符型 长度:20 …… 数据结构 (1)名称:读者类别 含义说明:定义了一个读者类别的有关信息 组成结构:类别代码+类别名称+可借阅数量+借阅天数+超期罚款额 (2)名称:读者 含义说明:定义了一个读者的有关信息 组成结构:姓名+性别+所在部门+读者类型 (3)名称:图书 含义说明:定义了一本图书的有关信息 组成结构:图书编号+图书名称+作者+出版社+价格 ……

数据流 (1)数据流名称:借书单 含义:读者借书时填写的单据 来源:读者 去向:审核借书 数据流量:250份/天 组成:借书证编号+借阅日期+图书编号 (2)数据流名称:还书单 含义:读者还书时填写的单据 来源:读者 去向:审核还书 数据流量:250份/天 组成:借书证编号+还书日期+图书编号 …… 数据存储 (1)数据存储名称:图书信息表 含义说明:存放图书有关信息 组成结构:图书+库存数量 说明:数量用来说明图书在仓库中的存放数 (2)数据存储名称:读者信息表 含义说明:存放读者的注册信息 组成结构:读者+卡号+卡状态+办卡日期 说明:卡状态是指借书证当前被锁定还是正常使用 (3)数据存储名称:借书记录 含义说明:存放读者的借书、还书信息 组成结构:卡号+书号+借书日期+还书日期 说明:要求能立即查询并修改 …… 处理过程 (1)处理过程名称:审核借书证 输入:借书证 输出:认定合格的借书证 加工逻辑:根据读者信息表和读者借书证,如果借书证在读者信息表中存在并且没有被锁定,那么借书证是有效的借书证,否则是无效的借书证。 …… 二、概念结构设计实例 1.标识图书管理系统中的实体和属性 参照数据字典中对数据存储的描述,可初步确定三个实体的属性为: 读者:{卡号,姓名,性别,部门,类别、办卡日期,卡状态} 读者类别:{类别代码,类别名称,可借阅天数、可借阅数量,超期罚款额}

《算法的三种基本逻辑结构和框图表示》教案

《算法的三种基本逻辑结构和框图表示》教案 教学目标 1.知识与技能:通过设计流程图来表达解决问题的过程,了解流程图的三种基本逻辑结构:顺序、条件分支、循环.理解掌握前两种,能设计简单的流程图. 2.过程与方法:通过模仿、操作和探索,抽象出算法的过程,培养抽象概括能力、语言表达能力和逻辑思维能力. 3.情感与价值观:通过算法实例,体会构造的数学思想方法;提高学生欣赏数学美的能力,培养学生学习兴趣,增强学好数学的信心;通过学生的积极参与、大胆探索,培养学生的探索精神和合作意识. 教材分析 重点:顺序结构和条件分支结构以及循环结构的理解及应用. 难点:条件分支结构和循环结构的应用. 教学方法 一、导入新课 算法可以用自然语言来表示,但为了使算法的步骤表达得更为直观,我们更经常地用图形方式来表达,这就是程序框图.程序有三种基本逻辑结构——顺序结构、选择结构和循环结构.复杂的程序都是由这三种结构组成. 二、探究新知 探究一:程序框图 1.概念:程序框图又称流程图,是一种用程序框、流程线及文字说明来表示算法的图形.在程序框图中,一个或几个程序框的组合表示算法中的一个步骤;带有方向箭头的流程线将程序框连接起来,表示算法步骤的执行顺序. 2.程序框的功能: 程序框名称功能 起止框表示一个算法的起始和结束,是任何流程图不可少的. 输入、输出框表示一个算法输入和输出的信息,可用在算法中任何需要输入、输出的位置. 难 处理框赋值、计算,算法中处理数据需要的算式、公式等分别写在不同的用以处理数据的处理框内.

判断框判断某一条件是否成立,成立时在出口处标明“是”或“Y”;不成立时标明“否”或“N”. 流程线连接程序框 连接点连接程序框的两部份 3.画程序框图的规则如下: (1)使用标准的图形符号. (2)框图一般按从上到下、从左到右的方向画. (3)除判断框外,大多数流程图符号只有一个进入点和一个退出点.判断框具有超过一个退出点的唯一符号. (4)判断框分两大类,一类判断框“是”与“否”两分支的判断,而且有且仅有两个结果;另一类是多分支判断,有几种不同的结果. (5)在图形符号内描述的语言要非常简练清楚. 探究二:算法的基本逻辑结构 1.顺序结构 顺序结构是最简单的算法结构,语句与语句之间,框与框之间是按从上到下的顺序进行的,它是由若干个依次执行的处理步骤组成的,它是任何一个算法都离不开的一种基本算法结构. 顺序结构在程序框图中的体现就是用流程线将程序框自上而下地连 接起来,按顺序执行算法步骤.如在示意图中,A框和B框是依次执行的, 只有在执行完A框指定的操作后,才能接着执行B框所指定的操作. 2.条件结构 条件结构是指在算法中通过对条件的判断,根据条件是否成立 而选择不同流向的算法结构. 它的一般形式如右图所示: 注: (1)右图此结构中包含一个判断框,根据给定的条件P是 否成立而选择执行A框或B框.无论P条件是否成立,只能执 行A框或B框之一,不可能同时执行A框和B框,也不可能A框、 B框都不执行.(这里B框可能没有) (2)一个判断结构可以有多个判断框. 3.循环结构A B 否 是 条件P A B

数据库课后题答案 第7章 数据库设计

第7章数据库设计 1.试述数据库设计过程。 答:这里只概要列出数据库设计过程的六个阶段:( l )需求分析;( 2 )概念结构设计;( 3 )逻辑结构设计;( 4 )数据库物理设计;( 5 )数据库实施;( 6 )数据库运行和维护。这是一个完整的实际数据库及其应用系统的设计过程。不仅包括设计数据库本身,还包括数据库的实施、运行和维护。设计一个完善的数据库应用系统往往是上述六个阶段的不断反复。 2 .试述数据库设计过程各个阶段上的设计描述。 答:各阶段的设计要点如下:( l )需求分析:准确了解与分析用户需求(包括数据与处理)。( 2 )概念结构设计:通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS 的概念模型。( 3 )逻辑结构设计:将概念结构转换为某个DBMS 所支持的数据模型,并对其进行优化。( 4 )数据库物理设计:为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法)。( 5 )数据库实施:设计人员运用DBMS 提供的数据语言、工具及宿主语言,根据逻辑设计和物理设计的结果建立数据库,编制与调试应用程序,组织数据入库,并进行试运行。( 6 )数据库运行和维护:在数据库系统运行过程中对其进行评价、调整与修改。 3 .试述数据库设计过程中结构设计部分形成的数据库模式。 答:数据库结构设计的不同阶段形成数据库的各级模式,即:( l )在概念设计阶段形成独立于机器特点,独立于各个DBMS 产品的概念模式,在本篇中就是 E 一R 图;( 2 )在逻辑设计阶段将 E 一R 图转换成具体的数据库产品支持的数据模型,如关系模型,形成数据库逻辑模式,然后在基本表的基础上再建立必要的视图( Vi 娜),形成数据的外模式;( 3 )在物理设计阶段,根据DBMS 特点和处理的需要,进行物理存储安排,建立索引,形成数据库内模式。 4 .试述数据库设计的特点。 答:数据库设计既是一项涉及多学科的综合性技术又是一项庞大的工程项目。其主要特点有:( l )数据库建设是硬件、软件和干件(技术与管理的界面)的结合。( 2 )从软件设计的技术角度看,数据库设计应该和应用系统设计相结合,也就是说,整个设计过程中要把结构(数据)设计和行为(处理)设计密切结合起来。 5 .需求分析阶段的设计目标是什么?调查的内容是什么? 答:需求分析阶段的设计目标是通过详细调查现实世界要处理的对象(组织、部门、企业等),充分了解原系统(手工系统或计算机系统)工作概况,明确用户的各种需求,然后在此基础上确定新系统的功能。调查的内容是“数据’夕和“处理”,即获得用户对数据库的如下要求:( l )信息要求,指用户需要从数据库中获得信息的内容与性质,由信息要求可以导出数据要求,即在数据库中需要存储哪些数据;( 2 )处理要求,指用户要完成什么处理功能,对处理的响应时间有什么要求,处理方式是批处理还是联机处理;( 3 )安全性与完整性要求。 6 .数据字典的内容和作用是什么? 答:数据字典是系统中各类数据描述的集合。数据字典的内容通常包括:( l )数据项;( 2 )数据结构;( 3 )数据流;( 4 )数据存储;( 5 )处理过程五个部分。其中数据项是数

数据库结构设计

一、数据库结构设计步骤 二、需求分析 三、概念结构设计 四、逻辑结构设计 五、数据库物理设计 数据库结构设计 一、数据库结构设计步骤 一般可将数据库结构设计分为四个阶段,即需求分析、概念结构设计、逻辑结构设计和物理设计。 下面各节分别介绍各阶段设计内容和具体方法。 二、需求分析 需求分析的任务是具体了解应用环境,了解与分析用户对数据和数据处理的需求,对应用系统的性能的要求,提出新系统的目标,为第二阶段、第三阶段的设计奠定基础。一般需求分析的操作步骤如下所述。 1.了解组织、人员的构成 子系统的划分常常以现有组织系统为基础,再进行整合,而新系统首先必须达到的目的是尽可能地完成当前系统中有关信息方面的工作,在原有系统中,信息处理总是由具体人来实施的。我们要了解组织结构情况、相互之间信息沟通关系、数据(包括各种报告、报表、凭证、单据)往来联系情况。 具体弄清各个数据的名称,产生的时间与传递所需时间与周期,数据量的大小,所涉及(传送)的范围,使用数据的权限要求,数据处理过程中容易发生的问题及其影响,各个部门所希望获得的数据的情况等。 然后了解每个人对每一具体数据处理的过程,基本数据元素来源于哪些地方、获取的途径、处理的要求、数据的用途,进而弄清数据的构成、数据元素的类型、性质、算法、取值范围、相互关系。 在上述调查基础上,首先画出组织机构及工作职能图。我们以一个学校的基层单位——某大学一个系的管理为例来简要说明。 系的组织机构及工作职能如图7.1所示。

图7.1 系管理体系结构图 作为管理层经常需要的信息和工作有: .查询老师个人基本情况及打印相应内容 .查询与统计科研项目情况及相关报表 .查询与统计论文著作情况及相关报表 .上级部门及其他部门来文管理与查询(要求能全文检索) .系部发文管理 .任务下达、检查及管理 .信件、通知的收发及管理 .日程安排调度及管理 .设备仪器计划及管理 .设备入库与库存情况管理与查询 .设备借还领用管理及相应报表 .耗材计划与领发管理及相应统计报表 .图书管理及借还情况查询 .学生毕业设计文档管理 .专业与班组编制与查询 .教学文档管理及查询(安排与检查,包括课表、考试日程安排、监考安排等).学生成绩管理与查询和统计 .教师、学生、实验室课表管理及查询 .学生基本情况管理与查询(包括社会活动、奖惩、家庭情况及学校校友管理)

逻辑结构设计

逻辑结构设计 逻辑结构设计的任务就是把概念结构设计阶段设计好的基本E-R图转换成 为与选用DBMS产品所支持的数据模型相符合的逻辑结构。 逻辑结构的步骤: (1)将概念结构转换为一般的关系、网状、层次模型; (2)将转换来的关系、网状、层次模型向特定的DBMS支持下的数据模型转换; (3)对数据模型进行优化。 如图: 概念结构基本E-R图 一般数据结构 关系、层次、网状 特定的DBMS支持 下的数据模型 优化的数据模型转换规则 DBMS的特点和 规则 优化方法 E-R图向关系模型的转换 E-R图向关系模型的转换要解决的问题是如何将实体型和实体间的联系转换为 关系模式,如何确定这些模式的属性和码。 关系模型的逻辑结构是一组关系模式的集合。E-R图则是由实体型、实体的属性和实体型之间的联系3个要素组成的。所以将E-R图 转换为关系模型实际上就是要将实体型、实体的属性和实体型之间的联系转换为关系模式,这种转换一般遵循如下原则: 一个实体型转换为一个关系模式。实体的属性就是关系的属性,实体的码就是关系的码。 学生资料(用户名,姓名,户口,年龄,月基本消费,所在学校,所在年级,家庭所在地) 此为学生资料实体对应的关系模式。该关系模式已包含了联系“领导”所对应的关系模式。 学生(用户名,密码) 此为学生实体对应的关系模式。 日消费(用户名,日常用品,饮食,话费,学习用品,日期) 此为日消费实体对应的关系模式。 额外消费(用户名,消费金额,消费详情,日期) 此为额外消费实体对应的关系模式。 月消费统计(用户名,消费金额,月份) 此为月消费统计实体对应的关系模式。 建议(用户名,分析员用户名,分析结果,消费评价) 此为建议实体对应的关系模式。分析师用户名是关系的候选码。

数据库表结构设计参考

数据库表结构设计参考. )表名外部单位表(DeptOut 约束条件非空空数据类型(精度范围) /列名外部单位ID N 变长字符串(50) 主键 N 变长字符串类型 (50)

N 单位名称(255) 变长字符串 (50) 单位简称变长字符变长字符(255)单位全交换类交换、市机、直送、邮变长字符(50)N (6)单位邮变长字符 变长字符(50))单位标英整排序(4) (50)交换变长字符变长字符(50)单位领 变长字符单位电(50) 变长字符所属城(50) 变长字符(255)单位地 备(255) 变长字符 补充说300条左右,一般不做修改。初始化记录该表记录数 表外部单位子表DeptOutSu 数据类型(精度范围列非约束条 变长字符(50)外部子单IDN 外ID变长字符(50)N单位名N变长字符(255) 变长字符单位编(50) 该表记录数一般很补充说 表内部单位表DeptI

数据类型(精度范围非列约束条IDN(50)变长字符主内部单类N变长字符(50) (255)变长字符N单位名 (50)变长字符单位简 变长字符单位全(255) 工作职 排序整(4) 单位领导(50) 变长字符串 (50) 单位电话(分机)变长字符串 (255) 变长字符串备注. 条以内),一般不做修改。维护一次后很少修改补充说明该表记录数较小(100 内部单位子表(DeptInSub)表名 约束条件数据类型(精度范围)空列名/非空 (50) N 变长字符串内部子单位ID 变长字符串(50) 父ID N 外键 (255) 单位名称 N 变长字符变长字符(50)单位编领导、部变长字符(50)单位类 Int 排序 该表记录数一般很补充说 省、直辖市表Provinc表

数据库的逻辑结构

数据库逻辑存储结构 数据库的物理存储结构对应一系列的物理文件,这部分主要描述的是数据存储的实际位置,不过数据如果存储,是以什么结构存储到数据文件中,则取决于数据库的逻辑存储结构. Oracle数据库在执行操作时,并不是以数据文件为单位,而是从逻辑上定义出一组结构,操作的数据可以一步步细分不同的存储单元,oracle 操作数据的过程,实际上就是对这些不同级别的存储单元进行维护和管理的过程. 逻辑存储概述 --块(block)块是逻辑存储结构中最小存储单位,所有数据的存储都是以块为单位进行.初始化参数文件中BLOCK_SIZE来指定一个块的大小,也就是说oracle的块大小在数据库创建时指定,一经指定就无法修改,除非重建数据库. --区(extent) 区是oracle数据库的最小分配单位,由一组连续的块组成,这些块在物理上可能并不连续(也就是OS块),但是必需都存在于一个物理文件,单个区在分配时不能跨文件分配(这个文件应该是数据文件).在创建对象时,最少会为该对象分配一个区,这个区叫做初始区(initial extent) 在随着对象的不断扩展,超出初始区后,oracle就会再为其分配扩展区(incremental extent)扩展区不一定要与初始区连续存放,甚至大小也可以与初始区不同,不过扩展区也必需是由连续的块组成. 段(segment)从逻辑的角度看,段由一个或多个区组成,它是一个真正逻辑结构. 可以将段看作是对象的全部或某个部分 例如:一个普通的堆组织表(不含分区,LOB类型及索引等)那么该表就对应一个段,不管这个表中被存放多少记录,它都仍然只对应一个段,不过如果该表创建了索引,那么索引数据会存放专门的索引段,如果该表有LOB类型,LOB数据也会被存入单独的数据段. --表空间(tablespace)从逻辑上定义,是由一个或多个段组成,从物理上定义是由一个或多个数据文件组成.表空间是oracle数据库中空间分配的最大逻辑单位,在往上就是数据库级别. 平时进行的创建对象的操作,都是在表空间一级进行. **提示:如创建存储对象时只能指定存储到哪个表空间,而不能指定存储到更细粒度的逻辑结构,如段,区,块.也不能指定存储到某个数据文件中. *注意*:在创建存储对象时,只需要指定存储所在的表空间(如果未指定,则存储到用户当前的默认表空间中),其他一切由oracle自动处理图: 每层结构都是一对多的关系 逻辑结构对应关系图

数据库原理课后题答案

第1章 1.试述数据、数据库、数据库系统、数据库管理系统的概念。 答:(1)数据:描述事物的符号记录成为数据。数据的种类有数字、文字、图形、图像、声音、正文等。数据与其语义是不可分的。 (2)数据库:数据库是长期储存在计算机内的、有组织的、可共享的数据集合。数据库中的数据按照一定的数据模型组织。描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。 (3)数据库系统:数据库系统是指在计算机系统中引入数据库后的系统构成,一般由数据库、数据库管理系统(及其开发人具)、应用系统、数据库管理员构成。 (4)数据库管理系统:数据库管理系统是位于用户与操作系统之间的一层数据管理软件,用于科学地组织和存储数据、高效地获取和维护数据。DBMS的主要功能包括数据定义功能、数据操作功能、数据库的建立和维护功能。 6.试述数据库系统三级模式结构,这种结构的优点是什么? 答:数据库系统的三级模式机构由外模式、模式和内模式组成。 外模式,亦称子模式或用户模式,是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。 模式亦称逻辑模式,是数据库中全体数据呃逻辑结构和特征的描述,是所有用户的公共数据视图。模式描述的是数据的全局逻辑结构。外模式涉及的是数据的内部逻辑结构,通常是模式的子集。 内模式,亦称存储模式,是数据在数据库内部的表示,即对数据的物理结构和存储方式的描述。 数据库系统的三级模式是对数据的三个抽象级别,它对数据的具体组织留给DBMS管理,使用户能逻辑抽象地处理数据,而不必关心数据在计算机中的表示和存储。 为了能够在内部实现这三个抽象层次的联系和转换,数据库系统在这三级模式之间提供了两层映像:外模式∕模式映像和模式∕内模式映像。正是这两层映像保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。 7.定义并解释下列术语。 外模式:亦称子模式或用户模式,是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。 内模式:亦称存储模式,是数据在数据库内部的表示,即对数据的物理结构和存储方式的描述。 模式:亦称逻辑模式,是数据库中全体数据逻辑结构和特征的描述,是所有用户的公共数据视图。模式描述的是数据的全局逻辑结构。外模式涉及的是数据的内部逻辑结构,通常是模式的子集。 DDL:数据库定义语言,用来定义数据库模式、外模式、内模式的语言。DML:数据操纵语言,用来对数据库中数据进行查询、插入、删除和修改的语句。 8.什么叫数据与程序的物理独立性?什么叫数据与程序的逻辑独立性?为什么

很详细的系统架构图-强烈推荐

很详细的系统架构图--专业推荐 2013.11.7

1.1.共享平台逻辑架构设计 如上图所示为本次共享资源平台逻辑架构图,上图整体展现说明包括以下几个方面: 1 应用系统建设 本次项目的一项重点就是实现原有应用系统的全面升级以及新的应用系统的开发,从而建立行业的全面的应用系统架构群。整体应用系统通过SOA面向服务管理架构模式实现应用组件的有效整合,完成应用系统的统一化管理与维护。 2 应用资源采集 整体应用系统资源统一分为两类,具体包括结构化资源和非机构化资源。本次项目就要实现对这两类资源的有效采集和管理。对于非结构化资源,我们将通过相应的资源采集工具完成数据的统一管理与维护。对于结构化资源,我们将通过全面的接口管理体系进行相应资源采集模板的搭建,采集后的数据经过有效的资源审核和分析处理后进入到数据交换平台进行有效管理。 3 数据分析与展现 采集完成的数据将通过有效的资源分析管理机制实现资源的有效管理与展现,具体包括了对资源的查询、分析、统计、汇总、报表、预测、决策等功能模块的搭建。 4 数据的应用 最终数据将通过内外网门户对外进行发布,相关人员包括局内各个部门人员、区各委办局、用人单位以及广大公众将可以通过不同的权限登录不同门户进行相关资源的查询,从而有效提升了我局整体应用服务质量。 综上,我们对本次项目整体逻辑架构进行了有效的构建,下面我们将从技术角度对相

关架构进行描述。 1.2.技术架构设计 如上图对本次项目整体技术架构进行了设计,从上图我们可以看出,本次项目整体建设内容应当包含了相关体系架构的搭建、应用功能完善可开发、应用资源全面共享与管理。下面我们将分别进行说明。 1.3.整体架构设计 上述两节,我们对共享平台整体逻辑架构以及项目搭建整体技术架构进行了分别的设计说明,通过上述设计,我们对整体项目的架构图进行了归纳如下:

架构设计之逻辑架构

架构设计之-逻辑架构 逻辑架构=模块划分+接口定义+领域模型 逻辑架构关注职责划分和接口定义。不同粒度的职责需要被关注,它们可能是逻辑层、功能子系统、模块、关键类等。不同通用程度的职责要分离,分别封装到专门模块、通用模块或通用机制中。 图-1 逻辑架构的设计内容 【设计任务】一、模块划分 面对“技术复杂性”和“管理复杂性”这样的双重困难,以架构为中心的开发方法是有效的途径。软件架构从大局着手,就技术方面的重大问题作出决策,构造一个具有一定抽象层次的解决方案,而不是将所有细节统统展开,从而有效地控制了“技术复杂性”。 通过 定义“如何划分模块、模块间如何通过接口交互”,架构提供了团队开发的基础,如图

2所示,可以把不同模块分配给不同小组分头开发,接口就是小组间合作的“契约”,每个小组的工作覆盖了“整个问题的一部门”。这样一来,模块的技术细节被局部化到了小组内部,内部的细节不会成为小组间协作沟通的主要内容,也就理顺了沟通的层次。另外,对“人尽其才”也有好处,不同小组的成员需要精通的技术各不相同。 图2 软件架构奠定团队开发基础 模块划分是架构师的看家本领,有多种手段可以促进合理划分模块: 1、从需求层面的“功能树”,启发“功能模块”的划分 2、水平分层,促进模块分解 3、通用模块和通用机制的识别 4、现代的用例驱动的模块划分过程 5、传统的模块化分思维 6、…… 【设计任务】二、接口定义 正确的设计思路是“协作决定接口”。架构师设计接口时,要考虑的重点是“为了实现软件系统的一系列功能,这个软件单元要和其他哪些单元协作、如何协作”。此时,可以使

用(一组)序列图辅助进行设计。 【设计任务】三、领域模型细化 逻辑架构设计的粒度,一般推荐设计到模块一级,但如下4种“关键类”可以在架构设计时就明确: 1、接口定义类 2、Facade实现类 3、核心控制类 4、另外,就是对系统可扩展性有根本影响的构成领域模型的那些类

14数据库设计(答案)

数据库设计 一、单项选择题 1、数据库设计的起点是( B )。 A、系统设计阶段 B、需求分析阶段 C、概念结构设计阶段 D、逻辑结构设计阶段 2、数据库设计的概念结构设计阶段,表示概念结构的常用方法和描述工具是 ( D )。 A、层次分析法和层次结构图 B、数据流程图分析法和数据流程 C、结构分析法和模块结构图 D、实体-联系方法和e-r图 3、在关系数据库设计中,设计关系模式是数据库设计中的( C )阶段的任务。 A、需求分析 B、概念设计 C、逻辑设计 D、物理设计 4、将设计好的表创建到ACCESS中,并设计窗体完成对表数据的操作,这是数 据库设计中的( C )阶段的任务。 A、逻辑结构设计 B、物理结构设计 C、实施 D、使用与维护 5、数据库应用系统开发一般包括两个方面的内容,即( D )。 A、需求分析和维护 B、概念结构设计和逻辑结构设计 C、功能设计和测试设计 D、结构特性设计和行为特性设计 6、将e-r图中的实体和联系转换为关系模型中的关系,这是数据库设计过程 中( D )设计阶段的任务。 A、需求分析 B、概念分析 C、物理结构 D、逻辑结构 7、把实体-联系模型转换为关系模型时,实体之间一对多联系在关系模型中是 通过( B )来实现。 A、建立新的主关键字 B、在n方增加1方的主关键字为外部关键字 C、建立新的关系 D、建立新的实体 8、数据库设计可分为6个阶段,每个阶段都有自己的设计内容,“为哪些关 系,在哪些属性上、建什么样的索引”这一设计内容应该属于( C )设计阶段。 A、概念设计 B、逻辑设计 C、物理设计 D、全局设计 9、把实体-联系模型转换为关系模型时,实体之间一对一联系在关系模型中是 通过( A )来实现。 A、两个关系各自增加对方的关键字为外部关键字 B、建立新的主关键字 C、建立新的关系 D、建立新的实体 10、数据库物理设计完成后,进入数据库实施阶段,下述工作中( D )一般 不属于实施阶段的工作。 A、建立库结构 B、系统调试 C、加载数据 D、扩充功能 11、以下错误的说法是,需求阶段的主要目标包括( D )。 A、画出数据流图 B、了解用户对数据库应用系统的各种要求

程序的三种基本逻辑结构

程序的三种基本逻辑结 构 Company Document number:WUUT-WUUY-WBBGB-BWYTT-1982GT

学习目标 在具体问题的解决过程中,理解程序框图的三种基本逻辑结构:顺序结构、条件结构、循环结构. 学习过程 提出问题 (1)请大家再次观察上节课中所画的一些程序框图例子. (2)回答什么是顺序结构什么是条件分支结构什么是循环结构、循环体 (3)试用程序框图表示循环结构. (4)指出三种基本逻辑结构结构的相同点和不同点. 讨论结果: 很明显,顺序结构是由若干个依次执行的步骤组成的,这是任何一个算法都离不开的基本结构. 三种逻辑结构可以用如下程序框图表示: 顺序结构 条件结构 循环结构 应用示例 例1 阅读以下程序框图,分析其所实现的算法功能. 算法分析:第1步,0+1=1. 第2步,1+2=3. 第3步,3+3=6. 第4步,6+4=10. …… 第100步,4 950+100=5 050. 步都可以表示为第(i-1)步的结果+i=第i 步的结果. 为了方便、有效地表示上述过程,我们用一个累加 变量S 来表示第一步的计算结果,即把S+i 的结果 仍记为S ,从而把第i 步表示为S=S+i , 其中S 的初始值为0,i 依次取1,2,…,100,由 于i 同时记录了循环的次数,所以也称为计数变量. 解决这一问题的算法是: 第一步,令i=1,S=0. 第二步,若i≤100成立,则执行第三步;否则,输 出S ,结束算法. 第三步,S=S+i. 第四步,i=i+1,返回第二步. 程序框图如右: (1)(2) 点评:在数学计算中,i=i+1不成立,S=S+i 只有在i=0时才能成立.在计算机程序中,它们被赋予了其他的功能,不再是数学中的“相等”关系,而是赋值关系.变量i 用来作计数器,i=i+1的含义是:将变量i 的值加1,然后把计算结果再存贮到变量i 中,即计数器i 在原值的基础上又增加了1.变量S 作为累加器,来计算所求数据之和.如累加器的初值为0,当第一个数据送到变量i 中时,累加的动作为S=S+i ,即把S 的值与变量i 的值相加,结果再送到累加器S 中,如此循环,则可实现数的累加求和. 变式训练 已知有一列数 1 ,,43,32,21 n n ,设计框图实现求该列数前20项的和.

数据库设计中英文术语表

数据库设计中英文术语表 June 27, 2004, In Focus on 索引 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 正文 1.Access method(访问方法):此步骤包括从文件中存储和检索记录。 2.Alias(别名):某属性的另一个名字。在SQL中,可以用别名替换表名。 3.Alternate keys(备用键,ER/关系模型):在实体/表中没有被选为主健的候选键。 4.Anomalies(异常)参见更新异常(update anomalies) 5.Application design(应用程序设计):数据库应用程序生命周期的一个阶段,包括设 计用户界面以及使用和处理数据库的应用程序。 6.Attribute(属性)(关系模型):属性是关系中命名的列。 7.Attribute(属性)(ER模型):实体或关系中的一个性质。 8.Attribute inheritance(属性继承):子类成员可以拥有其特有的属性,并且继承那些 与超类有关的属性的过程。 9.Base table(基本表):一个命名的表,其记录物理的存储在数据库中。 10.Binary relationship(二元关系):一个ER术语,用于描述两个实体间的关系。例如, panch Has Staff。 11.Bottom-up approach(自底向上方法):用于数据库设计,一种设计方法学,他从标 识每个设计组建开始,然后将这些组件聚合成一个大的单元。在数据库设计中,可以从表示属性开始底层设计,然后将这些属性组合在一起构成代表实体和关系的表。 12.Business rules(业务规则):由用户或数据库的管理者指定的附加规则。 13.Candidate key(候选键,ER关系模型):仅包含唯一标识实体所必须得最小数量的 属性/列的超键。 14.Cardinality(基数):描述每个参与实体的可能的关系数目。 15.Centralized approach(集中化方法,用于数据库设计):将每个用户试图的需求合并 成新数据库应用程序的一个需求集合 16.Chasm trap(深坑陷阱):假设实体间存在一根,但某些实体间不存在通路。 17.Client(客户端):向一个或多个服务器请求服务的软件应用程序。 18.Clustering field(群集字段):记录总的任何用于群集(集合)航记录的非键字段, 这些行在这个字段上有相同的值。 19.Clustering index(群集索引):在文件的群集字段上定义的索引。一个文件最多有一 个主索引或一个群集索引。 20.Column(列):参加属性(attribute)。 https://www.360docs.net/doc/ee5091885.html,plex relationship(复杂关系):度数大于2的关系。 https://www.360docs.net/doc/ee5091885.html,posite attribute(复合属性):由多个简单组件组成的属性。 https://www.360docs.net/doc/ee5091885.html,posite key(复合键):包含多个列的主健。 24.Concurrency control(并发控制):在多用户环境下同时执行多个十五并保证数据完 整性的一个DBMS服务。

1.1.3算法的三种基本逻辑结构和框图表示(练习题)

1.1.3算法的三种基本逻辑结构和框图表示 一、选择题 1.任何一个算法都离不开的基本结构为( ) A.逻辑结构B.条件分支结构 C.循环结构D.顺序结构 解析:选D.任何一个算法都要由开始到结束,故应当都有顺序结构. 2. 如图的程序框图表示的算法的功能是( ) A.计算小于100的奇数的连乘积 B.计算从1开始的连续奇数的连乘积 C.从1开始的连续奇数的连乘积,当乘积大于100时,计算奇数的个数D.计算1×3×5×…×n≥100时的最小的n值 答案:D

3.图中所示的是一个算法的框图,S的表达式为( ) A. 1 1+2+3+…+99 B. 1 1+2+3+…+100 C. 1 99 D. 1 100 答案:A 4.下列问题的算法适宜用条件结构表示的是( ) A.求点P(2,5)到直线l:3x-2y+1=0的距离 B.由直角三角形的两条直角边求斜边 C.解不等式ax+b>0(a≠0) D.计算100个数的平均数 解析:选C.条件结构是处理逻辑判断并根据判断进行不同处理的结构.只有C中含判断a的符号,其余选择项中都不含逻辑判断,故选C.

5.下列程序框图中,是循环结构的是( ) A.①②B.②③ C.③④D.②④ 解析:选C.循环结构需要重复执行同一操作,故只有③④符合.6.某程序框图如图所示,该程序运行后输出的k的值是( ) A.4 B.5 C.6 D.7 解析:选A.当k=0时,S=0?S=1?k=1, 当S=1时?S=1+21=3?k=2, 当S=3时?S=3+23=11<100?k=3, 当S=11时?S=11+211>100,故k=4.

数据库逻辑结构图

数据库逻辑结构图 一、实体的关系模型 1)、管理员(用户名,密码) 2)、个人(帐号,密码,姓名,年龄,出生日期,电话号码)3)、备忘录(时间,地点,事件) 4)、通讯录(姓名,城市,备注,工作地点,联系方式) 5)、日记(日期,地点,人物,事情) 6)、财务(标志,消费项目,消费时间,消费金额,剩余金额,总收入) 其中有下划线的是主键。 二、关系模型合并 1)、管理员(用户名,密码) 2)、个人(帐号,密码,姓名,年龄,出生日期,电话号码)3)、备忘录(时间,地点,事件) 4)、通讯录(姓名,城市,备注,工作地点,联系方式) 5)、日记(日期,地点,人物,事情) 6)、财务(标志,消费项目,消费时间,消费金额,剩余金额,总收入) 三、关系模型的函数依赖关系 1)、用户名——>密码 2)、(帐号,密码)——>姓名,(帐号,密码)——>年龄,(帐号,密码)——>出生日期,(帐号,密码)——>电话号码

3)、时间——>地点,时间——>事件 4)、姓名——>城市,姓名——>备注,姓名——>工作地点,姓名——>联系方式; 5)、日期——>地点,日期——>人物,日期——>事情 6)、标志——>消费时间,消费时间——>消费项目,消费时间——>消费金额,标志——>总收入,标志——>剩余金额。 其中6不是第一范式其他都是第一范式,且6为第二范式. 四、优化 1)、管理员(用户名,密码) 2)、个人(帐号,密码,姓名,年龄,出生日期,电话号码)3)、备忘录(时间,地点,事件) 4)、通讯录(姓名,城市,备注,工作地点,联系方式)5)、日记(日期,地点,人物,事情) 6)、财务(标志,消费时间,剩余金额,总收入) 消费(消费时间,消费项目,消费金额)

相关文档
最新文档