0

0

SQL server速成基础之数据库应用系统

WBOY

WBOY

发布时间:2022-04-26 18:12:52

|

4474人浏览过

|

来源于CSDN

转载

本篇文章给大家带来了关于sql server的相关知识,其中主要介绍了关于数据库基础的相关问题,包括了简单的数据库应用系统、数据库设计的介绍,下面一起来看一下,希望对大家有帮助。

SQL server速成基础之数据库应用系统

推荐学习:《SQL教程

数据库概念

  • 数据库
    把按一定模型组织的数据称为数据库(DataBase, DB)。数据库是
    事务处理,信息管理等应用系统等核心和基础。

  • 数据库管理系统(DataBase Management System, DBMS)
    管理数据库等系统,它将大量的数据按一定的数据模型组织起来,提
    供存储、维护、检索数据的功能,使应用系统可以以统一的方式方便、
    及时、准确地从数据库中获取所需信息。

  有人可能会问:我的数据就存放在自己电脑的excel表里就可以了,为什么还要搞个数据库呢

  那是这是因为数据库比excel有更多的优势。数据库可以存放大量的数据,允许很多人同时使用里面的数据。举个例子你就明白了,excel好比是一个移动硬盘,你使用了这个移动硬盘其他人就用不了了。数据库好比是网盘,很多人可以同时访问里面里的数据,而且网盘比移动硬盘能放更多的数据。
在这里插入图片描述

1.1 一个简单的数据库应用系统

数据库如何组织(存放)数据?

  在项目开发时,必须选择一个合适的数据库管理系统将数据按一定数据模型组织起来,并对数据进行统一管理,为需要使用数据的应用程序提供一致的访问手段。数据模型主要包括关系模型、层次模型、网状模型。目前,关系模型较为常用。

  关系模型以二维表格(关系表)的形式组织数据库中的数据。例如:表1.1描述了某一时刻学生图书借阅系统中的学生数据.
在这里插入图片描述

在这里插入图片描述

表格中的一行称为记录,一列称为一个字段,标题为字段名。
  1. 关系表结构表示形式:关系表名(字段名1,字段名2…字段
    名n)
  1. 码:一个字段或字段最小组合的值可以唯一标识其对应记录。一个
    表中可以有多个码,一般指定一个码为主码,在关系表中用下划线表
    示。如,学生表xs(借书证号,姓名,性别,出生时间,专业,借书
    量)。

1.2 数据库设计

表之间的关系:

学生表

在这里插入图片描述

成绩表

在这里插入图片描述

  例如我想知道学生表里学号“0001” 的成绩是多少?那么我就可以在成绩表里去查找“学号”值是0001的行,最后在成绩表里发现有3行数据的学号都是“0001” ,对应的就找到了该学生的三门课程的成绩。关系就是数据能够对应的匹配。

1.2.1 E-R模型

  E-R模型用来表示实体集与实体集之间的联系的图称为实体(entity)-联系 (relationship)模型( E-R图)。

  通常,E-R模型把每一类数据对象的个体称为“实体”,而每一类对象个体的 集合称为“实体集”,例如,在图书管理系统中主要涉及“读者”(又称为学生)和 “图书”等实体集,非主要实体集还有班级、班主任等。把每个实体集涉及的信息项称为属性。

  (1)实体集表示 在E-R图中,使用矩形表示实体集,使用椭圆表示属性,使用菱形表示联 系。用线段连接实体集与属性,当一个属性或属性组合指定为主码时,在实体集与属性的连接线上标记一斜线。
在这里插入图片描述
在这里插入图片描述

(2)实体集之间存在各种关系
  1.一对一的联系(1 : 1) A中的一个实体至多与B中的一个实体相联系,B中的一个实体也至多与A中的一个实体相联系。例如,“班级”与“班主任”这两个实体集之间的联系是一对一的联系,因为一个班级只有一个班主任,反过来,一个班主任只属于一个班级。“班级”与“班主任”两个实体集的E-R模型如图1.2所示。
在这里插入图片描述
  2.一对多的联系(1 : n) A中的一个实体可以与B中的多个实体相联系,而B中的一个实体至多与A中的一个实体相联系。例如,“班级”与“学生”(读者)这两个实体集之间的联系是一对多的联系,因为一个班级可有若干学生,反过来,一个学生只能属于一个班级。“班级”与“学生”两个实体集的E-R模型如图1.3所示。
图1-2
  3.多对多的联系(m : n) A中的一个实体可以与B中的多个实体相联系,而B中的一个实体也可与A中的多个实体相联系。例如,“读者”(学生)与“图书”这两个实体集之间的联系是多对多的联系,因为一个读者可借多本图书,反过来,一个书号的图书可被多个学生借。“读者”与“图书”两个实体集的E-R模型如图1.4所示。
在这里插入图片描述

练习1

  设有商店和顾客两个实体,“商店”有属性:商店编号、商店名、地址、电 话,“顾客”有属性:顾客编号、姓名、地址、年龄、性别。假设顾客每次去商店购物有一个消费金额和日期。试画出E-R图,并注明属性和联系类型。
在这里插入图片描述

==练习2==

  假设每个学生选修若干门课程,且每个学生每选一门课只有一个成绩,每个教师只担任 一门课的教学,一门课由若干教师任教。“学生”有属性:学号、姓名、地址、年龄、性别。“教师”有属性:职工号、教师姓名、职称,“课程“有属性:课程号、课程名。 试画出ER图,并注明属性和联系类型。

在这里插入图片描述

华友协同办公自动化OA系统
华友协同办公自动化OA系统

华友协同办公管理系统(华友OA),基于微软最新的.net 2.0平台和SQL Server数据库,集成强大的Ajax技术,采用多层分布式架构,实现统一办公平台,功能强大、价格便宜,是适用于企事业单位的通用型网络协同办公系统。 系统秉承协同办公的思想,集成即时通讯、日记管理、通知管理、邮件管理、新闻、考勤管理、短信管理、个人文件柜、日程安排、工作计划、工作日清、通讯录、公文流转、论坛、在线调查、

下载

1.2.2逻辑数据模型

  下面将根据三种联系从E-R图获得关系模式的方法。

  1.(1 : 1)联系的E-R图到关系模式的转换
   a. 每个实体集各对应一个关系模式;
   b. 对于(1 : 1)的联系,既可单独对应一个关系模式,也可以不单独对应一个关系模式。
  (1)联系单独对应一个关系模式,则由联系属性、参与联系的各实体集的主码属性构成关系模式,其主码可选参与联系的实体集的任一方的主码。
  例如,考虑图1.2描述的“班级(bj)”与“班主任(bzr)”实体集通过属于(sy)联系E-R模型,可设计如下关系模式(下横线表示该字段为主码):
bj(班级编号,院系,专业,人数)
bzr(员工号,姓名,联系电话)
sy(员工号,班级编号)
  (2)联系不单独对应一个关系模式,联系的属性及一方的主码加入另一方实体集对应的关系模式中。
  例如,考虑图1.2描述的“班级(bj)”与“班主任(bzb)”实体集通过属于(sy)联系E-R模型,可设计如下关系模式:
bj(班级编号,院系,专业,人数)
bzr(员工号,姓名,联系电话,班级编号)
或者:
bj(班级编号,院系,专业,人数,员工号)
bzr(员工号,姓名,联系电话)

  2.(1 : n)联系的E-R图到关系模式的转换
  a. 每个实体集各对应一个关系模式;
  b. 对于(1 : n)的联系,既可单独对应一个关系模式,也可以不单独对应一个
关系模式。
  (1)联系单独对应一个关系模式,则由联系的属性、参与联系的各实体集的 主码属性构成关系模式,n端的主码作为该关系模式的主码。
  例如,考虑图1.3描述的“班级(bj)”与“学生(xs)”实体集E-R模型,可设计如下关系模式:
bj(班级编号,院系,专业,人数)
xs(借书证号,姓名,性别,出生时间,专业,借书量)
sy(借书证号,班级编号)
  (2)联系不单独对应一个关系模式,则将联系的属性及1端的主码加入n端实
体集对应的关系模式中,主码仍为n端的主码。
  例如,图1.3描述的“班级(bj)”与“读者(xs)”实体集E-R模型可设计如下关系模式:
bj(班级编号,院系,专业,人数)
xs(借书证号,姓名,性别,出生时间,专业,借书量,班级编号)

  3.(m : n)联系的E-R图到关系模式的转换
  a. 每个实体集各对应一个关系模式;
  b. 对于(m : n)的联系,单独对应一个关系模式,该关系模式包括联系的属性、参与联系的各实体集的主码属性,该关系模式的主码由各实体集的主码属性共同组成。
  例如,图1.4描述的“读者(xs)”与“图书(book)”实体集之间的借阅联
系(jy)可设计如下关系模式:
xs(借书证号,姓名,性别,出生时间,专业,借书量)
book(ISBN,书名,作译者,出版社,价格,复本量,库存量,内容提要)
jy(借书证号,ISBN,索书号,借阅时间)
关系模式jy的主码是由“借书证号”和“ISBN”两个属性组合起来构成的一
个主码,一个关系模式只能有一个主码。

  练习1:设有商店和顾客两个实体,“商店”有属性:商店编号、商店名、地址、电 话,“顾客”有属性:顾客编号、姓名、地址、年龄、性别。假设顾客每次去商店购物有一个消费金额和日期。绘制E-R图,并转换成关系模型。

在这里插入图片描述

  练习2:假设每个学生选修若干门课程,且每个学生每选一门课只有一个成绩,每个教师只担任 一门课的教学,一门课由若干教师任教。“学生”有属性:学号、姓名、地址、年龄、性别。 “教师”有属性:职工号、教师姓名、职称,“课程”有属性:课程号、课程名。 试画出ER图,并将E-R图转换成关系模型。

在这里插入图片描述

1.3 数据库应用系统

  如图1.5所示描述了数据库系统的构成。
在这里插入图片描述

1.3.1应用系统的数据接口

1.ODBC数据库接口
  ODBC即开放式数据库互连(Open DataBase Connectivity),是微软公司推出的一种实现应用程序和关系数据库之间通信的接口标准。符合该标准的数据库就可以通过SQL语句编写的程序对数据库进行操作,但只针对关系数据库。目前所有的关系数据库都符合该标准。ODBC本质上是一组数据库访问API(应用程序编程接口),由一组函数调用组成,核心是SQL语句。

2.ADO数据库接口
  ADO(ActiveX Data Object)是微软公司开发的基于COM的数据库应用程序接口,通过ADO连接数据库,可以灵活地操作数据库中的数据。使用ADO访问关系数据库有两种途径:一种是通过ODBC驱动程序,另一种是通过数据库专用的OLE DB Provider,后者有更高的访问效率。

3.ADO.NET数据库接口
  ADO.NET数据模型从ADO发展而来,但它不只是对 ADO的改进,而是采用
了一种全新的技术。主要体现在以下几个方面:
(1)ADO.NET不是采用ActiveX技术,而是与.NET框架紧密结合的产物。
(2)ADO.NET包含对XML标准的完全支持,这对于跨平台交换数据具有重 要意义。
(3)ADO.NET既能在与数据源连接的环境下工作,又能在断开与数据源连接的条件下工作。特别是后者,非常适合于网络应用的需要,因为在网络环境下,始终做到保持与数据源连接,不符合网站的要求,不仅效率低,付出代价高,而且常会引发由于多个用户同时访问而带来的冲突。

  ADO.NET 提供了面向对象的数据库视图,并且在其对象中封装了许多数据库属性和关系。最重要的是,它通过多种方式封装和隐藏了很多数据库访问的细 节。可以完全不知道对象在与ADO.NET对象交互,也不用担心数据移动到另外一个数据库或者从另一个数据库获得数据等细节问题。图1.6显示了通过ADO.NET访问数据库的接口模型。

在这里插入图片描述

4.JDBC数据库接口
  JDBC(Java DataBase Connectivity)是JavaSoft (原来SUN公司的业务部门)开发的,Java语言编写的用于数据库连接和操作的类和接口,可为多种关系数据库提供统一的访问方式。通过JDBC对数据库的访问包括4个主要组件:Java应用程序、JDBC驱动器管理器、驱动器和数据源。
使用JDBC接口操作数据库有如下优点:
(1)JDBC API与ODBC十分相似,有利于用户理解;
(2)使编程人员从复杂的驱动器调用命令和函数中解脱出来,而致力于应用
程序功能的实现;
(3)JDBC支持不同的关系数据库,增强了程序的可移植性。

5.数据库连接池技术
  对于网络环境下的数据库应用,由于用户众多,使用传统的JDBC方式进行数据库连接,系统资源开销过大成为制约大型企业级应用效率的瓶颈,采用数据库连 接池技术对数据库连接进行管理,可以大大提高系统的效率和稳定性。

1.3.2应用系统架构

  1. 客户/服务器架构的应用系统
  DBMS通过命令和适合专业人员的界面操作数据库。对于一般的数据库应用系统,除了DBMS外,还需要设计适合普通人员操作数据库的界面。目前,流行的开发数据库界面的工具主要有Visual Basic、Visual C++、Visual C#等。应用程序与数据库、数据库管理系统之间的关系如图所示。

在这里插入图片描述

  2. 浏览器/服务器架构的应用系统
  基于Web的数据库应用采用三层(浏览器/Web服务器/数据库服务器)模式,也称B/S架构,如图所示。
在这里插入图片描述

推荐学习:《SQL教程

相关专题

更多
java
java

Java是一个通用术语,用于表示Java软件及其组件,包括“Java运行时环境 (JRE)”、“Java虚拟机 (JVM)”以及“插件”。php中文网还为大家带了Java相关下载资源、相关课程以及相关文章等内容,供大家免费下载使用。

836

2023.06.15

java正则表达式语法
java正则表达式语法

java正则表达式语法是一种模式匹配工具,它非常有用,可以在处理文本和字符串时快速地查找、替换、验证和提取特定的模式和数据。本专题提供java正则表达式语法的相关文章、下载和专题,供大家免费下载体验。

741

2023.07.05

java自学难吗
java自学难吗

Java自学并不难。Java语言相对于其他一些编程语言而言,有着较为简洁和易读的语法,本专题为大家提供java自学难吗相关的文章,大家可以免费体验。

736

2023.07.31

java配置jdk环境变量
java配置jdk环境变量

Java是一种广泛使用的高级编程语言,用于开发各种类型的应用程序。为了能够在计算机上正确运行和编译Java代码,需要正确配置Java Development Kit(JDK)环境变量。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

397

2023.08.01

java保留两位小数
java保留两位小数

Java是一种广泛应用于编程领域的高级编程语言。在Java中,保留两位小数是指在进行数值计算或输出时,限制小数部分只有两位有效数字,并将多余的位数进行四舍五入或截取。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

399

2023.08.02

java基本数据类型
java基本数据类型

java基本数据类型有:1、byte;2、short;3、int;4、long;5、float;6、double;7、char;8、boolean。本专题为大家提供java基本数据类型的相关的文章、下载、课程内容,供大家免费下载体验。

446

2023.08.02

java有什么用
java有什么用

java可以开发应用程序、移动应用、Web应用、企业级应用、嵌入式系统等方面。本专题为大家提供java有什么用的相关的文章、下载、课程内容,供大家免费下载体验。

430

2023.08.02

java在线网站
java在线网站

Java在线网站是指提供Java编程学习、实践和交流平台的网络服务。近年来,随着Java语言在软件开发领域的广泛应用,越来越多的人对Java编程感兴趣,并希望能够通过在线网站来学习和提高自己的Java编程技能。php中文网给大家带来了相关的视频、教程以及文章,欢迎大家前来学习阅读和下载。

16926

2023.08.03

高德地图升级方法汇总
高德地图升级方法汇总

本专题整合了高德地图升级相关教程,阅读专题下面的文章了解更多详细内容。

72

2026.01.16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
SQL 教程
SQL 教程

共61课时 | 3.5万人学习

SQL优化与排查(MySQL版)
SQL优化与排查(MySQL版)

共26课时 | 2.3万人学习

MySQL索引优化解决方案
MySQL索引优化解决方案

共23课时 | 2万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号