数据库笔记-第一章

数据库笔记-第一章

简介

为什么需要数据库?

  • 像我们不就是把数据存在文件里面吗?文本文件也能实现增删改查,但当文件过大、系统出故障或需要更高效率的时候,这种方式就完全罢工了,但数据库系统却依然能很好地工作。

从这个角度看,感觉数据库很像一种神奇的魔法而这种魔法,值得我们持续、认真、深入地学习和研究。

数据库,顾名思义即存放数据的仓库,数据是各种各样的:

其实我们的大脑本身就是个大数据库,里面存储大量的原有信息,每天还在持续的接收外界的新信息。如果不把要做的重要的事情单独列出来的话,我们很难从纷繁杂乱的信息中随时调取要做的事情。

列 to-do-list的好处一方面是提醒大脑快速查找信息,另一方面在清单上也可以利用二分法划分出轻重缓急,按照要事第一的原则做事,这样会最大限度的提高做事的整体效率。

任务清单相当于图书的目录,数据库的索引,建立好索引,才能直击目标。

 

数据库的作用:

  • 存储数据,数据库其实是一个文件系统
  • 检索数据,支持增删改查
  • 生成新数据,通过组合分析产生复合性信息

常见数据库:

开发者数据库备注
甲骨文公司Oraclejsp站建的很多,使用免费,服务收费,虽然性能极好,但总会莫名其妙有问题
微软公司SQL Serverasp建的站很多
IBM 公司DB2
开源PostgreSQL
开源MySQL主流数据库之一

 

数据表

数据库相当于一个柜子,里面放的都是各种文件。

这种文件的名字叫【表】,【表】是二维的,所以是由行和列组成的。

 

您可以理解为 excel表,但每张表只能用来完成一种工作、表达一种数据。比如下图:

虽然顾客、订单可以共享同样的【字段/列】(姓名、金额、日期),但决不应该,将顾客、订单的清单放在同一张表中,否则以后检索会很困难。


 

每张表应该只表达一种数据,不同的数据应该创建不同的表。

 

行和列

数据库便是由各种各样的数据表组成,而一个数据表是由行和列组成。

这些行称为【行/记录】,行的意思,就是表中的一行数据。表中的数据也是按行输入、存储的,但不能只存储半行、或者几个字段。

列呢,也叫字段。

数据表是由行和列组成的二维表。

 

主键

主键,可以避免信息冗余。

假设我们要为一家超市建立数据库,需要为货物建立表,存储相关的信息。

其实在我们建立的货物表里,生产厂家、厂家地址、厂家电话都有重复。

因为我们存储数据是按行输入的,又不能存储半行,所以每次录入新的货物的时候,生产厂家、厂家地址、厂家电话都得重新录入;维护数据更困难,如果大扇门化工厂搬迁了,那必须将表中所有数据大扇门化工厂的厂家地址都更新一遍。

那怎么办呢?

额外创建一个表,存储每个厂家的信息,再为每个厂家指定一个编号,这个编号就可以代表厂家,这个唯一标识厂家的编号叫【主键】。

在表1的基础上建立【主键】:

表1 就变成了这样:

新表1

此时的货物表(新表1)只保留了厂家的字段(厂家编号):

  • 此时如果大扇门化工厂搬迁了,只需要改一次主键表里的地址即可,从而避免数据冗余。
  • 查询时,只需要根据厂家编号,到厂家表中就可以看到厂家的所有信息。

 

外键

在货物表、厂家表中,有一个键让他们相互联系,这个键就称为【外键】。

 

表关联

这种将俩张表通过字段关联起来的方式,就称为【表关联】。

表关联,是关系数据库的核心概念,使得数据之间不在孤立。

比如,我们设计一个图书管理系统,系统的需求大致是这样:

比如,我们设计一个超市管理系统,系统的需求大致是这样:

这里不得不感慨一下。

也许,面向对象的本质就是面向数据库开发,可以毫不夸张的说每次开发新项目,数据库的设计几乎要占整个开发周期的 50%,大家都很清楚,只要数据库设计合理设计好了,程序代码只是分分钟的事情!!

这里面的关键就是设计好每个表、以及每个表之间的关联。

 

数据库

数据库管理系统(DBMS)

数据库管理系统(DBMS),是位于[用户]和[操作系统]之间的一层数据管理软件。

其实我们(用户)都不是直接访问数据库,而是由 DBMS 帮我们访问。

 

常用存储模型

省略,第二章内容。

层级模型
网状模型
关系模型

 

ER图到关系模式的转换

省略,第二章内容。

 

数据库管理员(DBA)

数据库管理员(DBA),是建立、管理、维护数据库的人。


 

数据库系统(DBS)

应用app(用户)、数据库管理系统(管理员)、数据库,就构成了数据库系统。

 

实体-联系模型

省略。

  • 教科书 P9-10 以学生举例,介绍基本概念(实体、属性、实体集、键、实体型、联系)
  • 教科书 P10-12 介绍实体之间的关系(一对一、一对多、多对多、多元关系)

 

E-R模型

将实体、属性、联系的表示方法整合起来,用来描述现实世界,这种方法叫【E-R模型】。

E-R模型案例:

这个看起来还是挺复杂的,我们来试一试这个画法。

  • 题目:用 E-R模型 表示工厂物资管理的概念模型

步骤如下:

  • 第一步,确定实体及他们的属性;
  • 第二步,确定实体之间的联系;
  • 第三步,画E-R模型;

按照以上步骤,工厂物资管理的概念模型如下:

 

 


哈哈,其实 E-R模型 画起来也不难的。

Python网络爬虫与推荐算法新闻推荐平台:网络爬虫:通过Python实现新浪新闻的爬取,可爬取新闻页面上的标题、文本、图片、视频链接(保留排版) 推荐算法:权重衰减+标签推荐+区域推荐+热点推荐.zip项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松复刻,拿到资料包后可轻松复现出一样的项目,本人系统开发经验充足(全领域),有任何使用问题欢迎随时与我联系,我会及时为您解惑,提供帮助。 【资源内容】:包含完整源码+工程文件+说明(如有)等。答辩评审平均分达到96分,放心下载使用!可轻松复现,设计报告也可借鉴此项目,该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的。 【提供帮助】:有任何使用问题欢迎随时与我联系,我会及时解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 下载后请首先打开README文件(如有),项目工程可直接复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值