SQL应用与开发:(一)导论和环境

简介:

一.导论

关系数据库是采用关系模型作为数据的组织方式的数据库,其以简单清晰的概念,易学易懂的数据库语言,使用户不需了解复杂的存取路径细节,不需说明“怎么干”,只需指出“干什么”就能操作数据库,而受到广大用户的喜爱。

SQL(结构化查询语言)是一种主要的关系型数据库语言,它建立在关系型数据模型基础上。

数据库系统,狭义地讲是由数据库、数据库管理系统和用户组成的;广义上讲是由计算机硬件、操作系统、数据库管理系统,以及在它支持下建立起来的数据库、应用程序、用户和数据库管理员组成的一个整体。




对于SQL的学习,是以《SQL应用与开发》为主的,在学习过程中,将自己的理解,整理成下面这幅图,以希望有所交流:




数据库设计过程

在使用普通文件的计算机应用系统中,数据库是从属程序的,数据文件的设计通常是应用程序设计的一部分。在数据库系统应用中,数据由DBMS进行独立地管理,对程序的依赖性大为减少。而数据库的设计也逐渐形成一项独立的开发活动。

一般来说,数据库的设计都要经历需求分析、概念设计、实现设计和物理设计四个阶段,下面这幅图为各设计过程和每一过程应生成的文档。




1.需求分析:是整个设计过程的基础,是最困难、最耗费时间的一步。它的目的是分析系统的需求。该过程的主要任务是从数据库的所有用户那里收集对数据的需求和对数据处理的要求,并把这些需求写成用户和设计人员都能接受的说明书。

2.概念设计:是整个数据库设计的关键。它的目的是将需求说明书中关于数据的需求,综合为一个统一的DBMS概念模型。首先根据单个应用的要求,画出能反映每一应用需求的局部R-R模型。然后将这些E-R模型图合并起来,消除冗余和可能存在的矛盾,得出系统总体的E-R模型。

3.实现设计:它的目的是将E-R模型转换为某一特定的DBMS能够接受的逻辑模式。对关系数据库,主要是完成表的关联和结构的设计。

4.物理设计:它的目的在于确定数据库的存储结构。其主要任务包括:确定数据库文件和索引文件的记录格式和物理结构,选择存取方法,决定访问路径和外存储器的分配策略等。不过大多这些工作大部分可由DBMS来完成,仅有一小部分工作是由设计人员完成。例如,物理设计应确定列类型和数据库文件的长度。实际上,由于借助DBMS,这部分工作难度你实现设计要容易得多。


关系数据库规范

在实现设计阶段,常常使用关系数据规范理论来指导关系数据库设计。其基本思想为,每个关系都应该满足一定的规范,从而使关系模式设计合理,达到减少冗余,提高查询效率的目的。

为了建立冗余较小、结构合理的数据库,将数据库中关系应满足的规范划分为若干等级,每一级成为一个“范式”。下面将一个人的理解用一句话为大家介绍最为常用的三个范式:

1.第一范式(1NF):无重复列。(在任何一个关系数据库中,第一范式是对关系模型的基本要求,不满足第一范式的数据库就不是关系数据库。)

2.第二范式(2NF):非主属性非部分以来于主关键字。(首先满足第一范式,再者数据库表中的每个实例或行必须可以被唯一地区分,为了实现区分,通常为表加上一个列,以存储各个实例的唯一标识;实体的属性完全依赖于主关键字,所谓“完全依赖”是指不能存在仅依赖主关键字的一部分的属性,如果存在,那么这个属性和主关键字的这一部分应该分离出来形成一个新的实体,新实体和原实体之间是一对多的关系。)

3.第三范式(3NF):属性不依赖于其他非主属性。(首先满足第二范式,再者一个数据库表中不包含已在其他表中包含的非主关键字信息。)


二.SQl 环境

通常,我们可以把运行在某个设备上的数据库管理系统看作是SQL环境。SQL环境提供了SQL得以实现的结构。在该结构中,可以使用SQL语句定义数据库对象,并且可以在这些对象中存储数据。例如,我们常见的数据库元素,如数据表、视图、存储过程、规则等,都是在SQL环境中定义的。

简单地说,SQL环境的定义就是组成该环境的所有部分的总和。每个性质不同的部分(组件)与其他组件协同工作,以支持SQL操作并提供操作应用平台。这些组件加起来就构成了一个模型,所有的关系数据库管理系统都是以该模型为基础,它们在很大程度上决定了SQL环境中各组件的结构、属性以及实现方式等。




三.学习小结

通过这次学习数据库的知识,感觉很好的感觉,无论是在知识的学习上,还是在实践中,对于数据库的操作,自己都是熟练了很多,也鉴于这次的SQL学习,为自己今后的学习带来实际性的帮助。SQL的学习中,最大的感受就是,夺取实践的操作数据,才能更好地去理解这个实体亦或者是语言。







目录
相关文章
|
28天前
|
SQL 关系型数据库 MySQL
SQL命令行退出操作指南:轻松掌握不同数据库环境下的退出技巧
在数据库管理与开发过程中,经常需要通过SQL命令行工具(如MySQL的mysql客户端、PostgreSQL的psql、SQL Server的sqlcmd等)与数据库进行交互
191 59
|
28天前
|
SQL 存储 测试技术
SQL在构建系统中的应用:关键步骤与技巧
在构建基于数据库的应用系统时,SQL(Structured Query Language)作为与数据库交互的核心语言,扮演着至关重要的角色
|
3天前
|
SQL 数据库
如何应用SQL约束条件?
【10月更文挑战第28天】如何应用SQL约束条件?
16 11
|
23天前
|
SQL Oracle 关系型数据库
SQL语言的主要标准及其应用技巧
SQL(Structured Query Language)是数据库领域的标准语言,广泛应用于各种数据库管理系统(DBMS)中,如MySQL、Oracle、SQL Server等
|
25天前
|
SQL 数据库 数据库管理
数据库SQL函数应用技巧与方法
在数据库管理中,SQL函数是处理和分析数据的强大工具
|
26天前
|
SQL 存储 数据库
SQL在构建系统中的应用:关键要素与编写技巧
在构建基于数据库的系统时,SQL(Structured Query Language)扮演着至关重要的角色
|
29天前
|
SQL 关系型数据库 数据库
SQL数据库:核心原理与应用实践
随着信息技术的飞速发展,数据库管理系统已成为各类组织和企业中不可或缺的核心组件。在众多数据库管理系统中,SQL(结构化查询语言)数据库以其强大的数据管理能力和灵活性,广泛应用于各类业务场景。本文将深入探讨SQL数据库的基本原理、核心特性以及实际应用。一、SQL数据库概述SQL数据库是一种关系型数据库
30 5
|
28天前
|
SQL 存储 Oracle
Oracle数据库SQL语句详解与应用指南
在数字化时代,数据库已成为各类企业和组织不可或缺的核心组件。Oracle数据库作为业界领先的数据库管理系统之一,广泛应用于各种业务场景。掌握Oracle数据库的SQL语句是数据库管理员、开发人员及运维人员的基本技能。本文将详细介绍Oracle数据库SQL语句的基本概念、语法、应用及最佳实践。一、Or
42 3
|
30天前
|
SQL
sql树型应用总结
sql树型应用总结
28 2
|
2月前
|
SQL 安全 Go
SQL注入不可怕,XSS也不难防!Python Web安全进阶教程,让你安心做开发!
在Web开发中,安全至关重要,尤其要警惕SQL注入和XSS攻击。SQL注入通过在数据库查询中插入恶意代码来窃取或篡改数据,而XSS攻击则通过注入恶意脚本来窃取用户敏感信息。本文将带你深入了解这两种威胁,并提供Python实战技巧,包括使用参数化查询和ORM框架防御SQL注入,以及利用模板引擎自动转义和内容安全策略(CSP)防范XSS攻击。通过掌握这些方法,你将能够更加自信地应对Web安全挑战,确保应用程序的安全性。
84 3