百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 优雅编程 > 正文

产品经理基础——数据库介绍(产品经理数据库知识)

sinye56 2024-10-08 16:39 5 浏览 0 评论

数据库介绍 -- oracle / mysql

1、数据库概念介绍

1.1数据库(Database,DB)

概念:数据库是长期保存在计算机存储设备上的、有组织或按一定格式存放的、可以共享的数据集合。简单地说,就是存放数据的仓库,或者说是存储在一起的相关数据的集合。

数据库中的数据按一定的数据模型组织、描述和存储,具有较小的冗余度和较高的数据独立性,并可以为各种用户共享。

数据库是由数据库管理系统来管理的。

1.2数据库管理系统(DataBase Management System,DBMS)

DBMS是建立在操作系统的基础上,对物理数据库进行统一管理和控制的软件,是位于用户和操作系统之间的一层数据管理软件。用户对数据库提出的访问请求是由DBMS来处理的。在DBMS中还提供了许多对数据库进行操作的使用程序。

DBMS使得能够方便的完成以下操作:

建立和维护数据库;

定义数据;

操作数据;

保证数据的安全性、完整性;

多用户实现数据的共享;

发生故障之后进行数据恢复。

1.3数据库管理员(DataBase Administrator,DBA)

负责整个数据库系统的建立、维护和协调的专门人员,是掌握数据库全局并进行数据库设计和管理的骨干人员。

1.4数据库系统(DataBase System,DBS)

数据库系统是指在计算机系统中引入数据库后的系统,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户构成。应当指出的是,数据库的建立、使用和维护等工作只靠一个DBMS远远不够,还要有专门的人员来完成,这些人被称为数据库管理员(DBA)。

2、数据管理历程

2.1人工管理阶段

数据不保存

  • 数据由应用程序管理

  • 数据不能共享

  • 数据不具有独立性,随其逻辑结构和物理结构而变化。

2.2文件管理阶段

  • 数据以文件形式长期存在

    由文件系统管理数据

  • 数据共享性差、独立性差

2.3数据库管理阶段

  • 有利于实现数据共享

  • 数据面向应用,而非面向程序

3、数据模型

3.1数据建模

要将现实世界中客观存在的事物以数据的形式存储到计算机中并进行处理,就需要对其进行分析、抽象,进而确定数据的结构以及数据间的内在联系,这一过程称为数据建模。

数据模型应满足三个方面要求:

  • 能够比较真实地模拟现实世界

  • 容易为人所理解

  • 便于计算机实现

数据模型三要素:

  • 数据结构- 描述事物的静态特性

  • 数据操作- 描述事物的动态特性

  • 完整性约束-描述事物内部和事物间的约束性关系

第一类模型是概念模型,也称信息模型,它是按用户的观点来对数据和信息建模,主要用于数据库设计。

另一类模型是数据模型,主要包括网状模型、层次模型、关系模型等,它是按计算机系统的观点来对数据建模,主要用于DBMS的实现。数据模型是数据库系统的核心和基础。各种机器上实现 的DBMS软件都是基于某种数据模型的。

3.2概念模型(逻辑模型)

从用户的观点出发对信息进行建模,并不依赖于具体的计算机系统或某个DBMS系统,主要用于数据库的概念设计。

以实体-关系(E-R)模型为基础,将现实世界中的客观对象抽象为实体和关系。

3.3实体-关系模型(Entity-Relationship Model, E-R Model)

E-R模型也称为E-R方法,由P.P.S.Chen于1976年提出,该方法使用E-R图来描述现实世界的概念模型。

在E-R模型中,现实世界是由一切称为实体的对象和这些对象之间的关系组成的。

E-R模型三要素:实体、关系、属性

E-R图(Entity-Relationship Diagram):

是描述概念世界,建立概念模型的实用工具。

3.4E-R图三要素:

?实体- 用矩形框表示

?属性- 用椭圆形表示,并用连线与实体连在一起。

?实体间联系- 用菱形框表示,并用连线分别与相关实体相连,且需在连线上注明联系类型。

3.5实体间联系类型

  • 一对一关系(1:1)

  • 一对多关系(1:n)

  • 多对多关系(m:n)

3.6关系模型

关系模型是在逻辑模型的基础上建立的适用于具体数据库实现的一种数据模型。关系模型是目前最重要的一种数据模型。它是实体、属性、关系在数据库中的具体体现。为了将逻辑模型转换为关系模型,需要将实体映射为数据库表,将属性映射为数据库列,将关系映射为数据库表的主键或外键。

在用户的观点下,关系模型中数据的逻辑结构是一张二维表,由行和列组成。

4.关系型数据库(Relationship DataBase,RDB)

关系型数据库是建立在关系模型基础上的数据库。它由一些相关的表和其他数据库对象组成。

这个定义包含几层含义:第一:建立在关系模型基础上;第二,信息被存放在表(二维表)中;第三,表之间是相互关联的;第四,除了表之外,还有其他数据库对象,如索引、视图、存储过程等。

当前流行的大型关系型数据库: Oracle、IBM DB2、

SQLServer、SyBase、Informix等。

关系型数据库采用结构化查询语言(SQL)作为客户端程

序与数据库服务器间沟通的桥梁——客户端发送SQL指令

到服务器端,服务器端执行相关的指令并返回其查询的结果结果。

5.关系型数据库管理系统(RDBMS)

5.1SQL语言(Structured Query Language)

SQL语言共分为四大类:数据查询语言DQL,数据操纵语言DML, 数据定义语言DDL,数据控制语言DCL。

1、数据查询语言DQL:数据查询语言DQL基本结构是由SELECT子句,FROM子 句,WHERE 子句组成的查询块:

SELECT <字段名表>

FROM <表或视图名>

WHERE <查询条件>

2、数据操纵语言

数据操纵语言DML主要有三种形式:

1) 插入:INSERT

2) 更新:UPDATE

3) 删除:DELETE

3、数据定义语言DDL

数据定义语言DDL用来创建数据库中的各种对象-----表、视图、 索引、同义词、聚簇等如:

CREATE TABLE表/VIEW视图/INDEX索引/SYN同义词/CLUSTER簇

4、数据控制语言DCL

数据控制语言DCL用来授予或回收访问数据库的某种特权,并控制数据库操纵事务发生的时间及效果,对数据库实行监视等。如:

1) GRANT:授权。

2) ROLLBACK [WORK] TO [SAVEPOINT]:回退到某一点。

回滚---ROLLBACK

回滚命令使数据库状态回到上次最后提交的状态。

3) COMMIT [WORK]:提交。

2、数据库产品介绍

Oracle数据库

  • 全球化、跨平台的数据库

  • Oracle遵守数据存取语言、操作系统、用户接口和网络通信协议的工业标准

  • 支持多用户、高性能的事务处理

  • 强大的安全性控制和完整性控制

  • 支持分布式数据库和分布处理

版本号:

oracle9i、oracle10g、oracle11g

  • i和g只是版本的代号,指oracle运用的技术

  • i代表Internet就是互联网技术

  • g代表grid就是网格技术,g突显分布式存储,

  • c代表cloud,也就是云技术。

安装oracle常见问题:

1)先查看

Oracle数据库安装及配置(一)

http://blog.csdn.net/phacker2010/article/details/7190126

2)windows 7 Oracle 11g release安装图解

http://jingyan.baidu.com/article/f96699bb8700e4894e3c1bd7.html

http://jingyan.baidu.com/article/dca1fa6f805620f1a44052d4.html

MySql介绍及安装

详见安装文

演示标准SQL的基本操作(增、删、改、查)

1.常用MySQL语句:

删除数据库

drop database database_name;

创建数据库

create database database_name;

申明使用数据库

use database_name;

创建数据库表

create table table_name(

id int(10) auto_increment not null primary key,//此处创建id作为主键并声明为自动增长

name varchar(20) not null,

password varchar(20) not null);

插入一条记录

insert into userinfo values(1,'name1','pass1');

或者

insert into userinfo values(null,'name1','pass1');

注意:自动增长字段处可以为null,达到自动增长效果;

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

6.视图:是从一个或几个基本表(或视图)导出的虚拟表。

6.1作用:

1、视图能够简化用户的操作

2、视图使用户能以多钟角度看待同一数据

3、视图对重构数据库提供了一定程度的逻辑独立性

4、视图能够对机密数据提供安全保护

5、适当的利用视图可以更清晰的表达查询

6.2视图:

1.视图是数据库数据的特定子集。可以禁止所有用户访问数据库表,而要求用户只能通过视图操作数据,这种方法可以保护用户和应用程序不受某些数据库修改的影响。

2.视图是抽象的,他在使用时,从表里提取出数据,形成虚的表。 不过对他的操作有很多的限制 。

3.而且视图是永远不会自己消失的除非你删除它。

视图有时会对提高效率有帮助。临时表几乎是不会对性能有帮助,是资源消耗者。

视图一般随该数据库存放在一起,临时表永远都是在tempdb里的。

4.视图适合于多表连接浏览时使用!不适合增、删、改.,存储过程适合于使用较频繁的SQL语句,这样可以提高 执行效率!

视图和表的区别和联系

6.3区别:

1、视图是已经编译好的sql语句。而表不是

2、视图没有实际的物理记录。而表有。

3、表是内容,视图是窗口

4、表只用物理空间而视图不占用物理空间,视图只是逻辑概念的存在,表可以及时对它进行修改,但视图只能有创建的语句来修改

5、表是内模式,视图是外模式

6、视图是查看数据表的一种方法,可以查询数据表中某些字段构成的数据,只是一些SQL语句的集合。从安全的角度说,视图可以不给用户接触数据表,从而不知道表结构。

7、表属于全局模式中的表,是实表;视图属于局部模式的表,是虚表。

8、视图的建立和删除只影响视图本身,不影响对应的基本表。

6.4联系:

视图(view)是在基本表之上建立的表,它的结构(即所定义的列)和内容(即所有数据行)都来自基本表,它依据基本表存在而存在。一个视图可以对应一个基本表,也可以对应多个基本表。视图是基本表的抽象和在逻辑意义上建立的新关系。

视图的书写格式

CREATE VIEW <视图名>[(列名组)]

AS <子查询>

DROP VIEW <索引名>

注意:视图可以和基本表一样被查询,但是利用视图进行数据增,删,改操作,会受到一定的限制。

例子1: 选择‘员工表’和‘项目表’中的部分字段和记录创建视图,并且限制表‘员工表’ 中的记录只能是部门为“项目部”的记录集合,视图定义为view_part,其程序清单如下:

CREATE VIEW view_part

AS

SELECT 员工表.编号, 员工表.姓名,员工表.性别,

员工表.所属部门, 项目表.项目编号, 项目表.名称

FROM 项目表 INNER JOIN 员工表 ON 项目表.负责人 = 员工表.编号

WHERE 员工表.所属部门='项目部'

相关推荐

Xfce桌面环境升级截图工具,支持AVIF和JPEG XL格式

IT之家5月20日消息,Xfce团队近日将屏幕截图工具xfce4-screenshooter更新至1.10.4版本,允许用户将截图保存为AVIF和JPEGXL两种无损图像格...

pyautogui:截图及定位功能_如何截图定位

截图函数PyAutoGUI可以截取屏幕截图,将其保存到文件中,并在屏幕中查找图像。如果您有一个小图像,例如需要单击并希望在屏幕上找到它的按钮,这将非常有用。这些功能由PyScreeze模块提供,该模块...

如何在Ubuntu上释放/boot分区的空间?

前几天,我收到一个警告,/boot分区已经几乎满了,没有剩余空间了。?来源:linux.cn?作者:AnkushDas?译者:郑?(本文字数:2868,阅读时长大约:4分钟)前几天,...

新Linux木马发现:每30秒截图并用麦克风录音

近期在Linux平台发现的木马程序能够定期截图,并可通过已连接的麦克风来录音,不同于通常设计用来攻击Linux端服务器的恶意程序。该木马程序最早被俄罗斯安全公司DoctorWeb发现,他们将其称之为...

使用 Rust 实现屏幕截图功能_rust怎么设置快捷键

前言在一些网安产品应用程序中,屏幕截图是常见的需求。对于想要使用Rust来进行屏幕截图的开发者,今天我们将介绍如何使用Rust实现屏幕截图功能,捕获屏幕内容并保存为图像文件。本文的目标本文件将...

Linux中的截图工具 - Flameshot_linux里面比较好的截图工具

Flameshot[1]是一款功能强大但易于使用的屏幕截图软件,中文名称火焰截图。Flameshot简单易用并有一个CLI版本,所以你也可以从命令行来进行截图。Flameshot是一个Lin...

linux/unix中如何使用sed一次替换多个模式

文本处理是我们使用linux/unix必须掌握的一项技能。前两篇文章介绍了如何删除文本文件中的空行以及如何删除文本文件中包含指定字符串的行。本文主要介绍如何使用sed命令一次替换多个模式。以下是测试中...

Linux环境中的shell echo命令使用技巧

简介:在平常编写LinuxShell脚本的时候,常常会用到echo命令。这echo命令的作用呢,就是在显示器上显示出一段文字。这个命令挺简单的,可它在脚本编程还有日常的系统管理里,那可是...

7 个有趣的 Linux 命令,我10年linux经验都没见过一个

Linux命令行可以是高级用户和系统管理员的法宝,Linux不仅仅是枯燥乏味的系统,Linux是由喜欢玩乐的人开发的,他们创建了一系列好玩的命令,当你想要微笑时,试着自己玩这些。1、蒸汽机车(s...

Linux文本处理三剑客之sed命令全面解析,一文就够了

作用sed命令是一个非交互式的行文本编辑器,它能对文件内容进行编辑,默认每次处理文本文件中所匹配到一行内容到模式空间,然后用后面的命令进行操作,操作完成之后,会把模式空间里面的内容输出到屏幕上,然后把...

Linux下常用命令及使用方法详解(可收藏!!!)

总结有哦福利哦ls文件属性:-:普通文件d:目录文件b:块设备c:字符设备文件l:符号连接文件p:命...

Python也有“管道”操作,你知道吗?

在编程世界中,"管道"是一项充满魅力的功能。像Unix和Linux中的管道一样,Python也有“管道”操作。本文将深入研究Python的管道操作,提供一些示例来帮助你理解和掌握它。什么是管...

运维人员常用的 Linux 命令汇总_运维人员常用的 linux 命令汇总表

作为运维人员,这些常用命令不得不会,掌握这些命令,工作上会事半功倍,提供工作效率。一.文件和目录1.cd命令,用于切换当前目录,它的参数是要切换到的目录的路径,可以是绝对路径,也可以是相对路径。cd...

Linux sed 命令详解_linux教程:sed命令的用法

简介sed的全称是:StreamEditor流编辑器,在Linux中是一个强大的文本处理工具,可以处理文件或标准输入流。基本语法sed[options]'command'file通过...

Linux tail命令用法_tail在linux

tail命令是Linux/Unix中的一个命令行工具,用于查看文件的最后几行或动态实时查看文件(tail-f)。语法tail[option(s)][file(s)]主要选项--n:指定显示文...

取消回复欢迎 发表评论: