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

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

sinye56 2024-10-08 16:39 3 浏览 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 员工表.所属部门='项目部'

相关推荐

Linux基础知识之修改root用户密码

现象:Linux修改密码出现:Authenticationtokenmanipulationerror。故障解决办法:进入单用户,执行pwconv,再执行passwdroot。...

Linux如何修改远程访问端口

对于Linux服务器而言,其默认的远程访问端口为22。但是,出于安全方面的考虑,一般都会修改该端口。下面我来简答介绍一下如何修改Linux服务器默认的远程访问端口。对于默认端口而言,其相关的配置位于/...

如何批量更改文件的权限

如果你发觉一个目录结构下的大量文件权限(读、写、可执行)很乱时,可以执行以下两个命令批量修正:批量修改文件夹的权限chmod755-Rdir_name批量修改文件的权限finddir_nam...

CentOS「linux」学习笔记10:修改文件和目录权限

?linux基础操作:主要介绍了修改文件和目录的权限及chown和chgrp高级用法6.chmod修改权限1:字母方式[修改文件或目录的权限]u代表所属者,g代表所属组,o代表其他组的用户,a代表所有...

Linux下更改串口的权限

问题描述我在Ubuntu中使用ArduinoIDE,并且遇到串口问题。它过去一直有效,但由于可能不必要的原因,我觉得有必要将一些文件的所有权从root所有权更改为我的用户所有权。...

Linux chown命令:修改文件和目录的所有者和所属组

chown命令,可以认为是"changeowner"的缩写,主要用于修改文件(或目录)的所有者,除此之外,这个命令也可以修改文件(或目录)的所属组。当只需要修改所有者时,可使用...

chmod修改文件夹及子目录权限的方法

chmod修改文件夹及子目录权限的方法打开终端进入你需要修改的目录然后执行下面这条命令chmod777*-R全部子目录及文件权限改为777查看linux文件的权限:ls-l文件名称查看li...

Android 修改隐藏设置项权限

在Android系统中,修改某些隐藏设置项或权限通常涉及到系统级别的操作,尤其是针对非标准的、未在常规用户界面显示的高级选项。这些隐藏设置往往与隐私保护、安全相关的特殊功能有关,或者涉及开发者选项、权...

完蛋了!我不小心把Linux所有的文件权限修改了!在线等修复!

最近一个客户在群里说他一不小心把某台业务服务器的根目录权限给改了,本来想修改当前目录,结果执行成了根目录。...

linux改变安全性设置-改变所属关系

CentOS7.3学习笔记总结(五十八)-改变安全性设置-改变所属关系在以前的文章里,我介绍过linux文件权限,感兴趣的朋友可以关注我,阅读一下这篇文章。这里我们不在做过的介绍,注重介绍改变文件或者...

Python基础到实战一飞冲天(一)--linux基础(七)修改权限chmod

#07_Python基础到实战一飞冲天(一)--linux基础(七)--修改权限chmod-root-groupadd-groupdel-chgrp-username-passwd...

linux更改用户权限为root权限方法大全

背景在使用linux系统时,经常会遇到需要修改用户权限为root权限。通过修改用户所属群组groupid为root,此操作只能使普通用户实现享有部分root权限,普通用户仍不能像root用户一样享有超...

怎么用ip命令在linux中添加路由表项?

在Linux中添加路由表项,可以使用ip命令的route子命令。添加路由表项的基本语法如下:sudoiprouteadd<network>via<gateway>这...

Linux配置网络

1、网卡名配置相关文件回到顶部网卡名命名规则文件:/etc/udev/rules.d/70-persistent-net.rules#PCIdevice0x8086:0x100f(e1000)...

Linux系列---网络配置文件

1.网卡配置文件在/etc/sysconfig/network-scripts/下:[root@oldboynetwork-scripts]#ls/etc/sysconfig/network-s...

取消回复欢迎 发表评论: