数据库查询系统设计
A. 我要用户php和数据库做一个成绩查询系统。请问我应该怎么做啊不要太复杂
设计思路么?
首先你需要设计数据库,成绩查询需要设计哪些表,最简单的就是这几三张表:学生表,课程表,成绩表,然后设计每个表的字段和关联关系
然后写代码,对数据库进行CURD,这种小系统完全不用考虑架构,数据量等,所以很简单的,数据库+PHP服务端+web前端 最多1天就差不多能做好了
B. 简述数据库应用系统的设计步骤
数据库设计的基本步骤:
1、系统需求分析与设计。
2、概念结构分析与设计。
3、逻辑结构分析与设计。
4、物理结构分析与设计。
5、系统实施。
6、系统维护。
(2)数据库查询系统设计扩展阅读:
数据库设计技巧:
1、原始文件与实体的关系
它可以是一对一,一对多,多对多的关系。一般来说,它们是一对一的关系:一个原始文档只对应于一个实体。在特殊情况下,它们可以是一对多或多对一关系,即一个原始文档对应于多个实体,或者多个原始文档对应于一个实体。
这里的实体可以理解为基本表。在对应关系明确后,对输入接口的设计非常有利。
2、主键和外键
一般来说,实体不能既没有主键也没有外键。在E-R图中,叶中的实体可以定义主键或不定义主键(因为它没有子代),但它必须有外键(因为它有父项)。
主键和外键的设计在全局数据库的设计中起着重要的作用。当全球数据库的设计完成后,一位美国数据库设计专家说:“钥匙无处不在,只有钥匙。”。这是他数据库设计的经验,也体现了他对信息系统核心(数据模型)高度抽象的理念。
因为:主键是一个高度抽象的实体。主键和外键的配对表示实体之间的连接。
3、基本表的属性
基本表不同于中间表和临时表,因为它具有以下四个特点:
原子性。基本表中的字段不可分解。
原始主义。基本表中的记录是原始数据(基本数据)的记录。
演绎的。所有输出数据都可以从基本表和代码表中的数据导出。
稳定。基本表的结构比较稳定,表中的记录要长期保存。
在了解基本表的性质之后,在设计数据库时,可以将基本表与中间表和临时表区分开来。
C. 数据库系统设计
3.数据库设计
(1)需求分析--(2)概念设计--(3)逻辑设计--(4)物理设计--(5)验证设计
数据库设计(Database Design)是指根据用户的需求,在某一具体的数据库管理系统上,设计数据库的结构和建立数据库的过程。
一般,数据库的设计过程大致可分数据库设计为5个步骤:
(1)需求分析;调查和分析用户的业务活动和数据的使用情况,弄清所用数据的种类、范围、数量以及它们在业务活动中交流的情况,确定用户对数据库系统的使用要求和各种约束条件等,形成用户需求规约。
(2)概念设计;对用户要求描述的现实世界(可能是一个工厂、一个商场或者一个学校等),通过对其中住处的分类、聚集和概括,建立抽象的概念数据模型。这个概念模型应反映现实世界各部门的信息结构、信息流动情况、信息间的互相制约关系以及各部门对信息储存、查询和加工的要求等。所建立的模型应避开数据库在计算机上的具体实现细节,用一种抽象的形式表示出来。以扩充的实体—(E-R模型)联系模型方法为例,第一步先明确现实世界各部门所含的各种实体及其属性、实体间的联系以及对信息的制约条件等,从而给出各部门内所用信息的局部描述(在数据库中称为用户的局部视图)。第二步再将前面得到的多个用户的局部视图集成为一个全局视图,即用户要描述的现实世界的概念数据模型。
php程序员站
(3)逻辑设计;主要工作是将现实世界的概念数据模型设计成数据库的一种逻辑模式,即适应于某种特定数据库管理系统所支持的逻辑数据模式。与此同时,可能还需为各种数据处理应用领域产生相应的逻辑子模式。这一步设计的结果就是所谓“逻辑数据库”。
(4)物理设计;根据特定数据库管理系统所提供的多种存储结构和存取方法等依赖于具体计算机结构的各项物理设计措施,对具体的应用任务选定最合适的物理存储结构(包括文件类型、索引结构和数据的存放次序与位逻辑等)、存取方法和存取路径等。这一步设计的结果就是所谓“物理数据库”。
(5)验证设计;在上述设计的基础上,收集数据并具体建立一个数据库,运行一些典型的应用任务来验证数据库设计的正确性和合理性。一般,一个大型数据库的设计过程往往需要经过多次循环反复。当设计的某步发现问题时,可能就需要返回到前面去进行修改。因此,在做上述数据库设计时就应考虑到今后修改设计的可能性和方便性。
至今,数据库设计的很多工作仍需要人工来做,除了关系型数据库已有一套较完整的数据范式理论可用来部分地指导数据库设计之外,尚缺乏一套完善的数据库设计理论、方法和工具,以实现数据库设计的自动化或交互式的半自动化设计。所以数据库设计今后的研究发展方向是研究数据库设计理论,寻求能够更有效地表达语义关系的数据模型,为各阶段的设计提供自动或半自动的设计工具和集成化的开发环境,使数据库的设计更加工程化、更加规范化和更加方便易行,使得在数据库的设计中充分体现软件工程的先进思想和方法。
D. 具体的数据库设计与实现过程
大致的讲主要是根据用户的需求,然后设计数据库的E-R模型,然后将E-R模型图转换为各种表,并对其进行数据库设计范式(范式因不同书籍有不同)的审核,然后进行数据库的实施,然后运行维护。
一句话来讲就是将用户的需求变成带有各种关系的表,以及其它的数据库结构,然后供编程使用
具体如下:
按照规范设计的方法,考虑数据库及其应用系统开发全过程,将数据库设计分为以下六个阶段
(1)需求分析。
(2)概念设计。
(3)逻辑设计。
(4)物理设计。
(5)数据库实施。
(6)数据库运行和维护。
5.1.1需求分析阶段
进行数据库设计首先必须准确了解与分析用户需求,包括数据与处理需求。需求分析是整个设计过程的基础,是最困难、最耗时的一步。作为“地基”的需求分析是否做得充分与准确,决定了在其上构建“数据库大厦”的速度与质量。需求分析做得不好,可能会导致整个数据库重新设计,因此,务必引起高度重视。
5.1.2概念模型设计阶段
在概念设计阶段,设计人员仅从用户角度看待数据及其处理要求和约束,产生一个反映用户观点的概念模式,也称为“组织模式”。概念模式能充分反映现实世界中实体间的联系,又是各种基本数据模型的共同基础,易于向关系模型转换。这样做有以下好处:
(1)数据库设计各阶段的任务相对单一化,设计复杂程度得到降低,便于组织管理。
(2)概念模式不受特定DBMS的限制,也独立于存储安排,因而比逻辑设计得到的模式更为稳定。
(3)概念模式不含具体的DBMS所附加的技术细节,更容易为用户所理解,因而能准确地反映用户的信息需求蠢兆信。
概念模型设计是整个数据库设计的关键,它通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型。如采用基于E-R模型的数据库设计方法,该阶段即将所设计的对象抽象出E-R模型;如采用用户视图法,则应设计出不同的用户视图。
5.1.3逻辑模型设计阶段
逻辑模型设计阶段的任务是将概念模型设计阶段得到的基本E-R图,转换为与选用的DBMS产品所支持的数据模型相符合的逻辑结构。如采用基于E-R模型的数据库设计方法,该阶段就是将所设计的E-R模型转换为某个DBMS所支持的数据模型;如采用用户视图法,则应进行表的规范化,列出所有的关键字以及用数据结构图描述表集合中的约束与联系,汇总各用户视图的设计结果,将所有的用户视图合成一个复杂的数据库系统。
5.1.4数据库物理设计阶段
数据库的物理结构主要指数据库的存储记录格式、存储记录安排和存取方法。显然,数据库的物理设计完全依赖于给定的硬件环境和数据库产品。在关系模型系统中,物理设计比较简单一些,因为文件形式是单记录类型文件,仅包含索引机制、空间大小、块的大小等内容。
物理设计可分五步完成,前三步涉及到物理结构设计,后两步涉及到约束和具体的程序设计:
(1)存储记录结构设计:包括记录的猜型组成、数据项的类型、长度,以及逻辑记录到存储记录的映射。
(2)确定数据存放位置:可以把经常同时被访问的数据组合在一起,“记录聚簇(cluster)”技带轮术能满足这个要求。
(3)存取方法的设计:存取路径分为主存取路径及辅存取路径,前者用于主键检索,后者用于辅助键检索。
(4)完整性和安全性考虑:设计者应在完整性、安全性、有效性和效率方面进行分析,作出权衡。
(5)程序设计:在逻辑数据库结构确定后,应用程序设计就应当随之开始。物理数据独立性的目的是消除由于物理结构的改变而引起对应用程序的修改。当物理独立性未得到保证时,可能会引发对程序的修改。
数据库物理设计是为逻辑数据模型选取一个最适合应用环境的物理结构,包括存储结构和存取方法。
5.1.5数据库实施阶段
根据逻辑设计和物理设计的结果,在计算机系统上建立起实际数据库结构、装入数据、测试和试运行的过程称为数据库的实施阶段。实施阶段主要有三项工作。
(1)建立实际数据库结构。对描述逻辑设计和物理设计结果的程序即“源模式”,经DBMS编译成目标模式并执行后,便建立了实际的数据库结构。
(2)装入试验数据对应用程序进行调试。试验数据可以是实际数据,也可由手工生成或用随机数发生器生成。应使测试数据尽可能覆盖现实世界的各种情况。
(3)装入实际数据,进入试运行状态。测量系统的性能指标,是否符合设计目标。如果不符,则返回到前面,修改数据库的物理模型设计甚至逻辑模型设计。
5.1.6数据库运行和维护阶段
数据库系统正式运行,标志着数据库设计与应用开发工作的结束和维护阶段的开始。运行维护阶段的主要任务有四项:
(1)维护数据库的安全性与完整性:检查系统安全性是否受到侵犯,及时调整授权和密码,实施系统转储与备份,发生故障后及时恢复。
(2)监测并改善数据库运行性能:对数据库的存储空间状况及响应时间进行分析评价,结合用户反应确定改进措施。
(3)根据用户要求对数据库现有功能进行扩充。
(4)及时改正运行中发现的系统错误。