精华内容
下载资源
问答
  • 数据库中常用的英文单词ORACLE开发2010-06-3016:20:05阅读17评论0字号:大中小订阅下列是一些数据库中经常碰到的英文单词:Accessmethod(访问方法):此步骤包括从文件存储和检索记录。Alias(别名):某属性另一个...

    数据库中常用的英文单词

    ORACLE

    开发

    2010-06-30 16:20:05

    阅读

    17

    评论

    0

    字号:大中小

    订阅

    下列是一些数据库中经常碰到的英文单词:

    Access method

    (访问方法):此步骤包括从文件中存储和检索记录。

    Alias

    (别名):某属性的另一个名字。在

    SQL

    中,可以用别名替换表名。

    Alternate

    keys

    (备用键,

    ER/

    关系模型):在实体

    /

    表中没有被选为主健的候选

    键。

    Anomalies

    (异常)参见更新异常(

    update anomalies

    )

    Application

    design

    (应用程序设计):数据库应用程序生命周期的一个阶段,

    包括设计用户界面以及使用和处理数据库的应用程序。

    Attribute

    (属性)(关系模型):属性是关系中命名的列。

    Attribute

    (属性)(

    ER

    模型):实体或关系中的一个性质。

    Attribute inheritance

    (属性继承):子类成员可以拥有其特有的属性,并且继承

    那些与超类有关的属性的过程。

    Base table

    (基本表):一个命名的表,其记录物理的存储在数据库中。

    Binary relationship

    (二元关系)

    :一个

    ER

    术语,用于描述两个实体间的关系。

    例如,

    panch Has Staff

    Bottom-up approach

    (自底向上方法):用于数据库设计,一种设计方法学,他

    从标识每个设计组建开始,然后将这些组件聚合成一个大的单元。在数据库设计

    中,可以从表示属性开始底层设计,然后

    将这些属性组合在一起构成代表实体和关系的表。

    Business rules

    (业务规则):由用户或数据库的管理者指定的附加规则。

    Candidate key

    (候选键,

    ER

    关系模型)

    :仅包含唯一标识实体所必须得最小数

    量的属性

    /

    列的超键。

    Cardinality

    (基数):描述每个参与实体的可能的关系数目。

    Centralized approach

    (集中化方法

    ,

    用于数据库设计):将每个用户试图的需求

    合并成新数据库应用程序的一个需求集合

    Chasm trap

    (深坑陷阱):假设实体间存在一根,但某些实体间不存在通路。

    Client

    (客户端):向一个或多个服务器请求服务的软件应用程序。

    Clustering field

    (群集字段):记录总的任何用于群集(集合)航记录的非键字

    段,这些行在这个字段上有相同的值。

    Clustering

    index

    (群集索引):在文件的群集字段上定义的索引。一个文件最

    多有一个主索引或一个群集索引。

    Column

    (列):参加属性(

    attribute

    )。

    Complex relationship

    (复杂关系):度数大于

    2

    的关系。

    Composite attribute

    (复合属性):由多个简单组件组成的属性。

    Composite key

    (复合键):包含多个列的主健。

    Concurrency control

    (并发控制)

    :在多用户环境下同时执行多个十五并保证数

    据完整性的一个

    DBMS

    服务。

    Constraint

    (约束):数据库不允许包含错误数据的一致性规则。

    Data conversion and loading

    (数据转换和加载):数据库应用生命周期重的一

    个阶段

    包括转换现有数据到新数据库中以及酱下耨应用程序转换到新的数据库

    展开全文
  • ·如何优化和调整设计以便改善数据库的性能 ·理解良好的应用程序设计和数据库设计之间关联的技术 ·设计灵活、健壮的数据库方法以适应业务变化和发展 ·便于维护和技术支持的设计方法 ·避免常见的数据库设计错误的...
  • 常见数据库默认端口号

    千次阅读 2013-06-17 22:22:37
    端口 功能英文注解 功能中文注解 1 tcpmux TCP Port Service Multiplexer 传输控制协议端口服务多路开关选择器 2 compressnet Management Utility compressnet 管理实用程序 3 compressnet ...

    端口 功能英文注解   功能中文注解

    1 tcpmux TCP Port Service Multiplexer   传输控制协议端口服务多路开关选择器

    2 compressnet Management Utility     compressnet 管理实用程序

    3 compressnet Compression Process     压缩进程

    5 rje Remote Job Entry          远程作业登录

    7 echo Echo                回显

    9 discard Discard             丢弃

    11 systat Active Users          在线用户

    13 daytime Daytime            时间

    17 qotd Quote of the Day         每日引用

    18 msp Message Send Protocol       消息发送协议

    19 chargen Character Generator      字符发生器

    20 ftp-data File Transfer[Default Data]  文件传输协议(默认数据口) 

    21 ftp File Transfer[Control]       文件传输协议(控制)

    22 ssh SSH Remote Login Protocol     SSH远程登录协议 ---SSH

    23 telnet Telnet             终端仿真协议 ---telnet

    24 ? any private mail system       预留给个人用邮件系统

    25 smtp Simple Mail Transfer       简单邮件发送协议 ---smtp

    27 nsw-fe NSW User System FE       NSW 用户系统现场工程师

    29 msg-icp MSG ICP            MSG ICP

    31 msg-auth MSG Authentication      MSG验证

    33 dsp Display Support Protocol      显示支持协议

    35 ? any private printer server      预留给个人打印机服务

    37 time Time               时间

    38 rap Route Access Protocol       路由访问协议 ---rap

    39 rlp Resource Location Protocol     资源定位协议

    41 graphics Graphics           图形

    42 nameserver WINS Host Name Server    WINS 主机名服务   ---wins

    43 nicname Who Is             "绰号" who is服务

    44 mpm-flags MPM FLAGS Protocol      MPM(消息处理模块)标志协议

    45 mpm Message Processing Module [recv]  消息处理模块 

    46 mpm-snd MPM [default send]       消息处理模块(默认发送口)

    47 ni-ftp NI FTP             NI FTP

    48 auditd Digital Audit Daemon      数码音频后台服务 

    49 tacacs Login Host Protocol (TACACS)  TACACS登录主机协议

    50 re-mail-ck Remote Mail Checking Protocol  远程邮件检查协议

    51 la-maint IMP Logical Address Maintenance  IMP(接口信息处理机)逻辑地址维护

    52 xns-time XNS Time Protocol       施乐网络服务系统时间协议  

    53 domain Domain Name Server       域名服务器 ---dns

    54 xns-ch XNS Clearinghouse        施乐网络服务系统票据交换

    55 isi-gl ISI Graphics Language      ISI图形语言

    56 xns-auth XNS Authentication      施乐网络服务系统验证

    57 ? any private terminal access     预留个人用终端访问

    58 xns-mail XNS Mail           施乐网络服务系统邮件

    59 ? any private file service       预留个人文件服务

    60 ? Unassigned              未定义

    61 ni-mail NI MAIL            NI邮件?

    62 acas ACA Services           异步通讯适配器服务

    63 whois+ whois+              WHOIS+

    64 covia Communications Integrator (CI)  通讯接口 

    65 tacacs-ds TACACS-Database Service   TACACS数据库服务

    66 sql*net Oracle SQL*NET         Oracle SQL*NET

    67 bootps Bootstrap Protocol Server    引导程序协议服务端

    68 bootpc Bootstrap Protocol Client    引导程序协议客户端

    69 tftp Trivial File Transfer       小型文件传输协议

    70 gopher Gopher             信息检索协议

    71 netrjs-1 Remote Job Service      远程作业服务

    72 netrjs-2 Remote Job Service      远程作业服务

    73 netrjs-3 Remote Job Service      远程作业服务

    74 netrjs-4 Remote Job Service      远程作业服务

    75 ? any private dial out service     预留给个人拨出服务

    76 deos Distributed External Object Store 分布式外部对象存储 

    77 ? any private RJE service       预留给个人远程作业输入服务

    78 vettcp vettcp             修正TCP?

    79 finger Finger             查询远程主机在线用户等信息 ---finger

    80 http World Wide Web HTTP        全球信息网超文本传输协议

    81 hosts2-ns HOSTS2 Name Server      HOST2名称服务

    82 xfer XFER Utility           传输实用程序

    83 mit-ml-dev MIT ML Device        模块化智能终端ML设备

    84 ctf Common Trace Facility       公用追踪设备

    85 mit-ml-dev MIT ML Device        模块化智能终端ML设备

    86 mfcobol Micro Focus Cobol       Micro Focus Cobol编程语言

    87 ? any private terminal link      预留给个人终端连接

    88 kerberos Kerberos           Kerberros安全认证系统

    89 su-mit-tg SU/MIT Telnet Gateway    SU/MIT终端仿真网关

    90 dnsix DNSIX Securit Attribute Token Map  DNSIX 安全属性标记图 

    91 mit-dov MIT Dover Spooler       MIT Dover假脱机

    92 npp Network Printing Protocol     网络打印协议

    93 dcp Device Control Protocol      设备控制协议

    94 objcall Tivoli Object Dispatcher    Tivoli对象调度

    95 supdup       SUPDUP            

    96 dixie DIXIE Protocol Specification   DIXIE协议规范

    97ft-rvfft Remote Virtural File Protocol)快速远程虚拟文件协议 

    98 tacnews TAC News            TAC新闻协议

    99 metagram Metagram Relay       

    100 newacct [unauthorized use]

    110 pop3 默认端口

    111 端口:111 端口是SUN 公司的RPC(Remote Procedure Call,远程过程调用)服务所开放的端口,主要用于分布式系统中不同计算机的内部进程通信,RPC 在多种网络服务中都是很重要的组件

    113 端口:113 端口主要用于Windows 的“Authentication Service”(验证服务)

    119 端口:119 端口是为“Network News Transfer Protocol”(网络新闻组传输协议,简称NNTP)开放的

    135 端口:135 端口主要用于使用RPC(Remote Procedure Call,远程过程调用)协议并提供DCOM(分布式组件对象模型)服务

    137 端口:137 端口主要用于“NetBIOS Name Service”(NetBIOS名称服务)

    139 端口:139 端口是为“NetBIOS Session Service”提供的,主要用于提供Windows 文件和打印机共享以及Unix 中的Samba 服 务

    143 端口:143 端口主要是用于“Internet Message Access Protocol”v2(Internet 消息访问协议,简称IMAP)

    161 端口:161 端口是用于“Simple Network Management Protocol”(简单网络管理协议,简称SNMP)

    443 端口:43 端口即网页浏览端口,主要是用于HTTPS 服务,是提供加密和通过安全端口传输的另一种HTTP

    554 端口:554 端口默认情况下用于“Real Time Streaming Protocol”(实时流协议,简称RTSP)

    1024 端口:1024 端口一般不固定分配给某个服务,在英文中的解释是“Reserved”(保留)

    1080 端口:1080 端口是Socks 代理服务使用的端口,大家平时上网使用的WWW 服务使用的是HTTP 协议的代理服务

    1433 端口:MS SQL*SERVER数据库server,默认的端口号为1433/tcp 1433/udp

    1434 端口:MS SQL*SERVER数据库monitor,默认的端口号为1434/tcp 1434/udp

    1755 端口:1755 端口默认情况下用于“Microsoft Media Server”(微软媒体服务器,简称MMS)

    3306 端口: mysql 的默认端口

    3389 端口:WIN2003远程登陆,默认的端口号为3389

    4000 端口:4000 端口是用于大家经常使用的QQ 聊天工具的,再细说就是为QQ 客户端开放的端口,QQ 服务端使用的端口是8000。

    5632 端口:5632 端口是被大家所熟悉的远程控制软件pcAnywhere 所开启的端口

    7001 端口:WebLogic,默认的端口号为7001

    8080 端口:8080 端口同80 端口,是被用于WWW 代理服务的

              JBOSS,默认的端口号为8080

              TOMCAT,默认的端口号为8080

    9080 端口:Webshpere应用程序,默认的端口号为9080

    9090 端口:webshpere管理工具,默认的端口号为9090

    ____________________________________________________

    Oracle端口:

    1521 端口:Oracle 数据库,默认的端口号为1521

    1158 端口:ORACLE EMCTL,默认的端口号为1158

    8080 端口: Oracle XDB( XML 数据库),默认的端口号为8080

    210 端口: Oracle XDB FTP服务,默认的端口号为210

    ————————————————————————————

    DHCP端口:

    是UDP67和UDP68,这两个端口是正常的DHCP服务端口,你可以理解为一个发送,一个接收。546端口为DHCP failover服务,他是需要特别开启的服务,一般情况下如果你不开启他是不会有546端口的,DHCP failover是用来做“双机热备”,比如:你有两台服务器,一台出现故障了,那一台可以继续接力不影响正常工作,我们也称“热备份”


    http://369619017.blog.163.com/blog/static/76280385201001634224643/

    展开全文
  • 数据库

    2020-05-21 11:36:02
    4.常见的数据库软件 MySQL数据库软件 MySQL的安装在博客比较多也比较全,这里就不一一截图。主要讲解下MySQL的卸载 1.安装 参见博客 2.卸载 1.去mysql的安装目录找到my.ini文件并打开 复制datadir="C:/...

    安装简介

    https://www.cnblogs.com/winton-nfs/p/11524007.html

     

    1.数据库的英文单词:DataBase 简称:DB
    2.什么是数据库?

    • 用于存储和管理数据的仓库

    3.数据库的特点:

    1. 持久化存储数据。其实数据库就是一个文件系统
    2. 方便存储和管理数据
    3. 使用了统一的方式操作数据库 -- SQL

    4.常见的数据库软件

    MySQL数据库软件

    MySQL的安装在博客中比较多也比较全,这里就不一一截图。
    主要讲解下MySQL的卸载

    1.安装
    参见博客

    2.卸载
    1.去mysql的安装目录找到my.ini文件并打开

    • 复制datadir="C:/ProgramData/MySQL/MySQL Server 5.5/Data/"

    2.卸载MySQL
    3.删除C:/ProgramData目录下的MySQL文件夹 (隐藏文件)
    3.配置
    MySQL服务启动

    1. 手动。
    2. cmd--> services.msc 打开服务的窗口
    3. 使用管理员打开cmd
    net start mysql :启动mysql的服务
    net stop mysql :关闭mysql的服务

    MySQL登陆

    1.mysql -uroot -p密码
    2.mysql -hip -uroot -p 连目标的密码
    3.mysql --host=ip --user=root --password=连接目标的密码

    MySQL退出

    1.exit
    2.quit

    MySQL目录结构
    1.MySQL安装目录
    配置文件 my.ini
    2.MySQL数据目录
    几个概念

    1. 数据库:文件夹
    2. 表:文件
    3. 数据:数据

     

    SQL

    1.什么是SQL ?

    • Structured Query Languange:结构化查询语言

    其实就是定义了操作所有关系型数据库的规则。每一种数据库操作的方式存在不一样的地方,称为“方言”。

    2.SQL通用语法

    1. SQL语句可以单行或多行书写,以分号结尾。
    2. 可使用空格和缩进来增强语句的可读性。
    3. MySQL数据库的SQL 语言不区分大小写,关键字建议使用大写。
    4. 3种 注释
    • 单行注释: -- 注释内容 或 # 注释内容(mysql特有)
    • 多行注释: /*注释*/

    3.SQL分类
    1.DDL(Data Definition Language)数据定义语言

    • 用来定义数据库对象:数据库、表、列等。关键字:create,drop,alter等

    2.DML(Data Manipulatio Language)数据操作语言

    • 用来对数据库中表的数据进行增删改。关键字:insert,delete,update 等

    3.DQL(Data Query Language)数据库查询语言

    • 用来查询数据库中表的记录(数据)。关键字:select,where 等

    4.DCL(Data Control Language)数据控制语言(了解)

    • 用来定义数据库的访问权限和安全级别,及创建用户。关键字:GRANY,REVOKE 等。 

    DDL:操作数据库表

    1.操作数据库:CRUD

    1.C(Create):创建

    • 创建数据库:
    create database 数据库名称
    • 创建数据库,判断不存在,再创建:
    create database if not exists 数据库名称;
    • 创建数据库,并指定字符集
    create database 数据库名称 character set 字符集名;
    • 练习:创建db3数据库,判断是否存在,并指定字符集为gbk
    create database if not exists db3 character set gbk;

    2.R(Retrieve):查询

    • 询所有数据库的名称:
    show database;
    • 查询某个数据库的字符集:查询某个数据库的创建语句
    show create database 数据库名称;

    3.U(Update):修改

    • 修改数据库的字符集
    alter database 数据库名称 character set 字符集名称:

    4.D(Delete):删除

    • 删除数据库
    drop database 数据库名称;
    • 判断数据库存在,存在再删除
    drop database if exists 数据库名称;

    5:使用数据库

    • 查询当前正在使用的数据库名称
    select database();
    • 使用数据库
    use 数据库名称;

    2.操作表

    1.C(Create):创建

    • 语法;

    复制代码

    create table 表名(
    列名1 数据类型1,
    列名2 数据类型2,
    ...
    列名n 数据类型n
    );

    复制代码

    注意:最后一列,不需要加逗号(,)

    • 数据类型:

    1.int:整数类型

    age int,

    2.double:小数类型

    score duoble (3,7)

    3.data:日期,只包含年月日,yyyy-MM-dd
    4.datatime:日期,包含年月日时分秒 ,yyyy-MM-dd HH:mm;ss
    5.timestamp:时间类型 包含年月日时分秒 yyyy-MM-dd HH:mm;ss

    如果将来不给这个字段赋值,或赋值为null,则默认使用当前的系统时间,来自动赋值

    6.varchar:字符串

    name varchar(20):姓名最大20的字符
    cainiao 7个字符 张三 2个字符
    • 创建表

    复制代码

    create table student(
    id int,
    name varchar(37),
    age int,
    score double(4.1),
    birthday data,
    insert_time timestamp
    );

    复制代码

    • 复制表:
    create table 表名 like 被复制的表名

    2.R(Retrieve):查询

    • 查询某个数据库中所有的表名称
    show tables;
    • 查询表结构
    desc 表名;

    3.U(Update):修改

    • 1.修改表名
    alter table 表名 rename to 新的表名;
    • 2.修改表的字符集
    alter table 表名 character set 字符集名称;
    • 3.添加一列
    alter table 表名 add 列名 数据类型;
    • 4.修改列名称 类型
    alter table 表名 change 列名 新列名 新列别 新数据类型;
    alter table 表名 modify 列名 新数据类型;
    • 5.删除列
    alter table 表名 drop 列名;

    4.D(Delete):删除

    drop table 表名;
    drop table if exists 表名;


    *客户端图形化工具:SQLYog

    DML:增删改表中的数据

    1.添加数据:

    • 语法:
    insert into 表名(列名1,列名2,...列名n) values(值1,值2,...值n);
    • 注意:

    1.列名和值要一一对应。

    2.如果表名后,不定义列名,则默认给所有列添加值。

    insert into 表名 values(值1,值2,...值n);

    3.除了数字类型,其他类型需要使用引号(单双都可以)引起来

    2.删除数据:

    • 语法:
    delete from 表名 [where 条件]
    • 注意:
    1. 如果不加条件,则删除表中所有记录。
    2. 如果要删除所有记录
    • delete from 表名;-- 不推荐使用。有多少条记录就会执行多少次删除操作。
    • TRUNCATE TABLE 表名; -- 推荐使用,效率更高 先删除表,然后再创建一张一样的表。

    3.修改数据

    • *语法:
    update 表名 set 列名1 = 值1,列名2 = 值2,...[where 条件];

    注意:

    • 如果不加任何条件,则会将表中所有记录全部修改。

    DQL:查询表中的记录

    select * from 表名;

    1.语法

    select
      字段列表
    from
      表名列表
    where
      条件列表
    group by
      分组字段
    having
      分组之后的条件
    order by
      排序
    limit
      分页限定

    2.基础查询
      1.多个字段的查询

    select 字段名1,字段名2... from 表名;

    注意:

    • 如果查询所有字段,则可以使用*来替代字段列表。

      2.去除重复

    distinct

      3.计算列
    一般可以使用四则运算计算一些列的值。(一般只会进行数值型的计算)

    ifnull(表达式1,表达式2);
    • 表达式1:那个字段需要判断是否为null
    • 如果改字段为null后的替换值。

      4.起别名

    as :as也可以省略

    3.条件查询

    1.where子句后跟条件

    复制代码

    2.运算符
    
    >,<,>=,<=,=,<>
    BETWEEN...AND
    IN(集合)
    LIKE
    IS NULL
    and or &&
    or or ||
    not or !

    复制代码

    本节内容

    1.DQL:查询语句

    1. 排序查询
    2. 聚合函数
    3. 分组查询
    4. 分页查询

    2.约束
    3.多表之间的关系
    4.范式
    5.数据库的备份和还原

    DQL:查询语句

    1.排序查询

    语法:order by 子句
    order by 排序字段1 排序方式1,排序字段2 排序方式2...

    排序方式:

    ASC:升序,默认的
    DESC:降序

    注意:
    如果有多个排序条件,则当前的条件值一样时,才会判断第二条件。

    2.聚合函数:将一列数据作为一个整体,进行纵向的计算。
      1.count:计算个数

    1. 一般选择非空的列:主键
    2. count(*)

      2.max:计算最大值
      3.min:计算最小值
      4.sum:计算和
      5.avg:计算平均值

    注意:聚合函数的计算,排除null值。
    解决方案:

    1. 选择不包含非空的列进行计算
    2. IFNULL函数

    3.分组查询

    语法:group by 分组字段

    注意:
      1.分组之后查询的字段:分组字段、聚合函数
      2.where 和 having的区别?

    1. where 在分组之前进行限定,如果不满足条件,则不参与分组。having在分组之后进行限定,如果不满足结果,则不会被查询出来
    2. where 后不可以跟聚合函数,having可以进行聚合函数的判断。

    4.分页查询
    语法:limit开始的索引,每页查询的条数;

    复制代码

    公式:开始的索引 = (当前的页码 - 1) * 每页显示的条数
    --每页显示3条记录
    
    SELECT * FROM student LIMIT 0.3; --第1页
    SELECT * FROM student LIMIT 3.3; --第2页
    SELECT * FROM student LIMIT 6.3; --第3页
    
    limit 是一个MySQL"方言"

    复制代码

    约束

    概念:对表中的数据进行限定,保证数据的正确性、有效性和完整性。
    分类:

    1. 主键约束:primary key
    2. 非空约束:not null
    3. 唯一约束:unique
    4. 外键约束:foreign key


    非空约束:not null
      1.创建表时添加约束

    CREATE TABLE stu(
      id INT,
      NAME VARCHAR(20) NOT NULL --name为非空
    );

      2.创建表完后,添加非空约束

    ALTER TABLE stu MODIFY NAME VARCHAR(20) NOT NULL;

      3.删除name的非空约束

    ALTER TABLE stu MODIFY NAME VARCHAR(20);

    唯一约束:unique,值不能重复

      1.注意:
    唯一约束可以有null值,但是只能有一条记录为null

      2.创建表时,添加唯一约束

    CREATE TABLE stu(
      id INT,
      phone_number VARCHAR(20) UNIQUE --添加了唯一约束(手机号)
    );

      3.删除唯一约束

    ALTER TABLE stu DROP INDEX phone_number;

      4.在表创建完后,添加唯一约束

    ALTER TABLE stu MODIFY phone_number VARCHAR(20) UNIQUE;

    主键约束:primary key
      1.注意:

    1. 含义:非空且唯一
    2. 一张表只能有一个字段为主键
    3. 主键就是表中记录的唯一标识

      2.在创建表时,添加主键约束

    create table stu(
      id int primary key, --给id添加主键约束
      name varchar(20)
    );

      3.删除主键

    --错误写法 alter table stu modify id int ;
    AlTER TABLE stu DROP PRIMARY KEY;

      4.创建完表后,添加主键

    ALTER TABLE stu MODIFY id INT PRIMARY KEY;

    5.自动增长:
      1.概念:如果莫一列是数值类型的,使用 auto_increment 可以来完成值的自动增长

      2.在创建表时,添加主键约束,并且完成主键自增长

    create table stu(
      id int primary key auto_increment, --给id添加主键约束
      name varchar(20)
    );

      3.删除自动增长

    ALTER TABLE stu MODIFY id INT;

    --添加自动增长

    ALTER TABLE stu MODIFY id INT auto_increment

    外键约束:foreign key,让表与表产生关系,从而保证数据的正确性。
      1.在创建表时,添加外键
    语法:

    create table 表名(
      ...
      外键列
      constraint 外键名称 foregin key (外键列名称) references 主表名称(主表列名称)
    );

      2.删除外键

    ALTER TABLE 表名 DROP FOREIGN KEY 外键名称;

      3.创建表之后,添加外键

    ALTER TABLE employee(表名) ADD CONSTRAINT(外键名称) emp_dept_fk FOREIGN KEY (dep_id(外键字段名称)) REFERENCES department(id)(主表名称(主表列名称))

    4.级联操作
    添加级联操作
    语法:

    ALTER TABLE 表名 ADD CONSTRAINT(外键名称)
    FOREIGN KEY (外键字段名称) REFERENCES 主表名称(主表列名称)

    分类:
      1.级联更新:

    ON UPDATE CASCADE

      2.级联删除:

    ON DELETE CASCADE

    数据库的设计

    1.多表之间的关系

    复制代码

    1.一对一(了解)
    如:人和身份证
    分析:一个人只有一个身份证,一个身份证只能对应一个人
    2.一对多(多对一):
    如:部门和员工
    分析:一个部门有多个员工,一个员工只能对应一个部门
    3.多对多:
    如:学生和课程
    分析:一个学生可以选择多个课程,一个课程也可以被多个学生选择

    复制代码

    2.实现关系:

    复制代码

    1.一对一
    如:人和身份证
    实现关系:一对一关系实现,可以在任意一方添加唯一外键指向另一方的主键。
    2.一对多(多对一):
    如:部门和员工
    实现关系:在多的一方建立外键,指向另一方的主键。
    3.多对多:
    如:学生和课程
    实现关系:多对多关系实现需要借助第三张中间表。中间表至少包含两个字段,这两个字段作为第三张表的外键,分别指向两张表的主键。

    复制代码

    2.数据库设计的范式
    概念:设计数据库时,需要遵循的一些规范。要遵循后边的范式要求,必须先遵循前边的所有范式要求
    设计关系数据库时,遵从不同的规范要求,设计合理的关系型数据库,这些不同的规范要求被称为不同的范式,各种范式呈递规范,越高的范式数据库冗余越小。
    目前关系数据库有六种范式:第一范式(1NF),第二范式(2NF),第三范式(3NF),巴斯-科德范式(BCNF),第四范式(4NF),

    分类:
    1.第一范式(1NF):每一列都是不可分割的原子数据项
    2.第二范式(2NF):在1NF的基础上,非码属性必须完全依赖于候选码(在1NF基础上消除非主属性对主码的部分函数依赖)

    复制代码

    几个概念:
    1.函数依赖:A-->B,如果通过A属性(属性组)的值,可以确定唯一B属性的值,则称B依赖于A.
    例如:学号-->姓名.(学号,课程名称)--> 分数
    2.完全函数依赖:A-->B ,如果A是一个属性组,则B属性值的确定需要依赖于A属性组中所有的属性值.
    例如:(学号,课程名称) --> 分数
    3.部分函数依赖:A-->B,如果A是一个属性组,则B属性值的确定只需要依赖于A属性组某一些性值即可.
    例如:(学号,课程名) -->姓名
    4.传递函数依赖:A-->B,B-->C,如果通过A属性(属性组)的值,可以确定唯一B属性的值,再通过B属性(属性组)的值可以确定唯一属性的值,则称C传递函数依赖于A
    5.码:如果在一张表中,一个属性或属性组,被其他所有属性所完全依赖,则称这个属性(属性组)为该表的码
    例如:该表中码为:(学号,课程名称)
    主属性:码属性组中的所有属性
    非主属性:除了码属性组的属性

    复制代码

    3.第三范式(3NF):在2NF基础上,任何非主属性不依赖于其他非主属性(在2NF基础上消除传递依赖)

    本节内容

    1.多表查询

    2.事务

    3.DCL

    多表查询:

    查询语法

    select 
      列名列表
    from 
      表名列表
    where ...

    准备sql

    #创建部门表
    CREATE TABLE dept();
    #创建员工表
    CREATE TABLE emp();

    笛卡尔积:
    有两个集合A,B,去这两个集合的所有组成情况.
    要完成多表查询,需要消除无用的数据

    多表查询的分类:
    1.内连接查询

    1. 隐式内连接:使用where条件消除无用数据
    2. 显示连接:语法:select 字段列表 from 表名1 [inner] join 表名2 on 条件
    3. 内连接查询:
    • 从那些表中查询数据
    • 条件是什么
    • 查询那些字段

    2.外连接查询
    1.左外连接:

    语法:select 字段列表 from 表1 left [outer] join 表2 on 条件;
    查询的是左表所有数据以及其交集部分.

    2.右外连接

    语法:select 字段列表 from 表1 right [outer] join 表2 on 条件;
    查询的是右表所有数据以及其交集部分.

    子查询:

    概念:查询中嵌套查询,称嵌套查询为子查询
    --查询工资最高的员工信息

    复制代码

    --1查询最高的工资是多少 9000
    SELECT MAX(salary) FROM emp;
    --2 查询员工信息,并且工资等于9000的
    select * from emp WHERE emp.'salary'=9000;
    
    --一条sql就完成这个操作.子查询
    SELECT * FROM emp WHERE emp.'salary' = (SELECT MAX(salary) FROM emp);

    复制代码

    事务

    1.事务的基本介绍
    概念:
    如果一个包含多个步骤的业务操作,被事务管理,那么这些操作要么同时成功,要么同时失败.
    操作:

    1. 开启事务:start transaction;
    2. 回滚:rollback;
    3. 提交:commit;

    2.事务的四大特征

    1. 原子性:是不可分割的最小操作单位,要么同时成功,要么同时失败.
    2. 持久性:当事务提交或回滚后,数据库会持久化的保存数据
    3. 隔离性:多个事务之间,相互独立.
    4. 一致性:事务操作前后,数据总量不变


    3.事务的隔离级别
    概念:多个事务之间隔离的,相互独立的.但是如果多个事务操作同一批数据,则会引发一些问题,设置不同的隔离级别就可以解决这些问题.
    存在问题:

    1. 脏读:一个事务,读取到另一个事务中没有提交的数据
    2. 不可重复读(虚读):在同一个事物中,两次读取到的数据不一样.
    3. 幻读:一个事务操作(DML)数据表中所有记录,另一个事务添加了一条数据,则第一个事务查询不到自己的修改.

    隔离级别:

    复制代码

    1.read uncommmitted:读未提交
    产生的问题:脏读,不可重复读,幻读
    
    2.read committed :读已提交(Oracle)
    产生的问题:不可重复读,幻读
    
    3.repeatable read:可重复读(MySQL默认)
    产生的问题:幻读
    
    4.serializable:串行化
    可以解决所有的问题

    复制代码

    注意:隔离级别从小到大安全性越来越高,但是效率越来越低

    数据库查询隔离级别:

    select @@tx_isolation

    数据库设置隔离级别:

    set global transaction isolation level 级别字符串;

    DCL:管理用户、授权

    SQL分类:

    1. DDL:操作数据库和表
    2. DML:增删改表中的数据
    3. DQL:查询表中的数据
    4. DCL:管理用户、授权

    DBA:数据库管理员

    DCL:管理用户、授权

    1.管理用户
      1.添加用户:

    语法:CREATE USER '用户名'@'主机名' IDENTIFIED BY '密码';

      2.删除用户

    语法:DROP USER '用户名'@'主机名';

      3.修改用户密码:

    UPDATE USER SET PASSWORD('新密码') WHERE USER = '用户名';
    UPDATE USER SET PASSWORD('abc') WHERE USER = 'cainiao';
    
    SET PASSWORD FOR '用户名'@'主机名'=PASSWORD('新密码');
    SET PASSWORD FOR 'root'@'localhost'=PASSWORD('123');

    如果使用mysql中忘记了root用户的密码?

    1. cmd --> net stop mysql 停止mysql服务 -- 需要管理员运行该cmd
    2. 使用无验证方式启动mysql服务: mysql --skip-grant-tables
    3. 打开新的cmd窗口,直接输入mysql命令,敲回车.就可以登陆成功
    4. use mysql
    5. uodate user set password = password('你的新密码') where user = 'root';
    6. 关闭两个窗口
    7. 打开任务管理器,手动结束mysql.exe的进程
    8. 启动mysql的服务
    9. 使用新密码登陆.

      4.查询用户:
    --1.切换到 mysql数据库

    USE mysql ;

    --2.查询user表

    SELECT * FROM USER;

    通配符:% 表示可以在任意主机使用用户登陆数据库

    2.权限管理
    --查询权限:

    SHOW GRANTS FOR '用户名'@'主机名';
    SHOW GRANTS FOE 'CAINIAO'@'%';

    --授予权限

    grant 权限列表 on 数据库名.表名 to '用户名'@'主机名';

    --给张三用户授予所有权限,在任意数据库任意表上

    GRANT ALL ON *.* TO 'zhangsan'@ 'localhost';

    --撤销权限:

    revoke 权限列表 on 数据库名.表名 from '用户名'@'主机名'

     

     

     

    数据库mysql

    存储数据,

    卸载:

    安装中遇到问题:

    报错信息显示useing passowrd:YES 说明密码是对的,但是拒绝用户root登陆

    解决方法:

    安装mysql

    打开解压后的MySql文件在根目录下创建my.ini (mysql配置文件),使用Notepad++创建,具体内容如下:

    1. [mysql]
    2. #设置mysql客户端默认字符集
    3. default-character-set=utf8
    4. [mysqld]
    5. #设置3306端口
    6. port = 3306
    7. # 设置mysql的安装目录
    8. basedir=H:\\mysql-8.0.13-winx64
    9. # 允许最大连接数
    10. max_connections=200
    11. # 服务端使用的字符集默认为8比特编码的latin1字符集
    12. character-set-server=utf8
    13. # 创建新表时将使用的默认存储引擎
    14. default-storage-engine=INNODB

    (1)可以粘贴复制,主要修改下basedir后的路径,注意路径中为\\而非\,另外也要注意也不要自己新建data文件夹,由mysql自动生成data就好

    (2)配置环境变量,在Path中加入MYSQL解压包bin所在路径,我的是H:\mysql-8.0.13-winx64\bin。

    (3)找到cmd命令提示符,以管理员的身份进入(避免后面因权限不够而导致的错误),

       然后输入命令:mysqld install     显示成功,再输入:mysqld --initialize,此时应该没有任何提示

       再输入:net start mysql     显示

       https://img-blog.csdnimg.cn/20181218160729107.png

    (4)输入mysql -uroot -p,进入mysql,

       https://img-blog.csdnimg.cn/2018121816360480.png

    这个时候要在新生成的data文件夹下面找到xxx.err文件,密码其实是随机生成的,

    https://img-blog.csdnimg.cn/20181218163847648.png

    输入这个密码,然后在第一次测试时会报错,

       https://img-blog.csdnimg.cn/20181218164113737.png

    (5)这个时候,应该修改一下密码,

    ALTER USER 'root'@'localhost' IDENTIFIED BY '12345';

    最后退出,再测试一下新密码,如下

      https://img-blog.csdnimg.cn/20181218164432158.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L01yX2NodWFu,size_16,color_FFFFFF,t_70

    成功,密码是随机生成的

     

     

    数据库相关概念:

    Sql语言:

    数据库增删改查的操作

    慎重

    删除成功

    注意命令要以分号结束,不然出现小箭头

    错误:

    原因:查找,数据库名称不合法

    新错误:

    吐了

    报错原因

    在第一次初始化并启动MySQL之后,系统自动生成了初始默认密码,但是如果要执行其他的操作,必须要先修改MySQL的密码。

    解决方式如下:

    MySQL版本5.7.6版本以前用户可以使用如下命令:

    mysql> SET PASSWORD = PASSWORD('root(密码)');

    解决:

    创建也成功:

    总结:就是第一次初始化并启动MySQL之后,系统自动生成了初始默认密码,但是如果要执行其他的操作,必须要先修改MySQL的密码。

     

    展示:

     

    创建表

             实操:创建一个表结构

     

     

    先链接一个数据库,注意 database是单数

    选择数据库,

    建表时又出现错误;

    原因:不是大括号,是他妈小括号!

        查看表  (show, desc, select, from)

     

     

     

     

     

     

     

    展开全文
  • 数据库英文单词: DataBase 简称 : DB 数据库定义 数据库是存储和管理数据的仓库,数据库按照特定的格式将数据存储起来,就...常见的数据库 MySQL:甲骨文公司,开源免费的数据库,小型的数据库,已经被 Oracl..

    目录

    数据库定义

    数据库的特点

    常见的数据库


    数据库的英文单词: DataBase   简称 : DB

    数据库定义

    数据库是存储和管理数据的仓库,数据库按照特定的格式将数据存储起来,就好像我们把文件存储在硬盘一样,存储在硬盘上的文件我们是通过流的方式来存取,而数据库中的数据我们可以通过sql语句进行增删改查操作

    数据库的特点

    1. 持久化存储数据的。其实数据库就是一个文件系统

    2. 方便存储和管理数据

    3. 使用了统一的SQL语句的方式来操作数据库

    常见的数据库

    MySQL:甲骨文公司,开源免费的数据库,小型的数据库,已经被 Oracle 收购了。MySQL6.x 版本也开始收费。后来 Sun 公司收购了 MySQL,而 Sun 公司又被 Oracle 收购

    Oracle:甲骨文公司,收费商业软件,适用于大型电商网站

    DB2 :IBM 公司,收费的数据库产品。常应用在银行系统中

    SQL Server:微软,通常用于政府网站,公司收费的中型的数据库,并且大学教学通常都是采用SQLServer,图形化工具做的不错,C#、.net 等语言常使用

    SQLite: 嵌入式的小型数据库,应用在手机端,如:Android

    Mariadb:由mysql创始人搞出来的,是mysql开源版本的一个分支,基本上所有命令都一样

    展开全文
  • 即便是50年后今天, SQL中的 null 值还是导致许多常见错误罪魁祸首. 我们一起来看那些最令人震惊情况。   Null不支持大小/相等判断 下面2个查询,不管表 users 有多少条记录,返回记录都是0行:   ...
  • 一、数据库的概念 数据库(Database)是按照数据结构来组织、存储和管理数据的仓库。 简单的说,数据库英文Dtabase)就是一个存放数据的仓库,这个仓库是按照一定的数据...三、数据库中常见的概念 ★ 1、DB(databa
  • 【职位】IT项目中常见的英文简称

    千次阅读 2017-06-27 09:04:23
    一个项目(Project)里面,经常用到角色有: 项目经理:Project Manager / PM ...数据库管理师:Data-Base Administrator / DBA 程序员:Programmer / PG 测试员:Testor / TT 系统工程师:Syste
  • 在数据解析时候,我们得到数据格式有可能中英文符号相互混淆,但是我们存在数据库中必须将符号统一, 于此,我们需要对得到数据串进行处理以达到我们目的。 下面我主要来写一种将String串中 英文双引号&...
  • 何为单元测试?如果你对单元测试还不太了解, 可以看看中文维基百科词条 ...如果你对数据库单元测试还不太了解, 可以看看下面英文网站 http://www.agiledata.org/essays/databaseTesting.html ...
  • 1、PLSQL Developer连Oracle数据库表数据中文乱码 程序访问数据正常,工具访问是乱码,这种情况一般是window环境问题。在环境变量添加两项: LANG=zh_CN.GBK   NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK ...
  • 四、常见的字符串函数<1>LENGTH(str): 求字符串长度(以字节为单位),返回字符串str的字节长度。 注:在GBK编码,一个中文字符为2个字节。UTF-8编码,一个中文字符为3个字节,一个英文字符为1个字节。 例:*...
  • 如果处理各种各样文字,发布到不同语言国家地区,应选Unicode字符集,对MySQL来说就是UTF-8(每个汉字3字节),如果应用需要处理英文,仅少量汉字使用UTF8更好(中英文混合)。2.如果只需要支持中文,并且数据量很大...
  • 文章目录数据库的基本概念MySQL数据库软件SQLDDL:操作数据库、表DML:增删改表数据DQL:查询表的记录 数据库的基本概念 ...4. 常见的数据库软件 * 参见《MySQL基础.pdf》 MySQL数据库软件 1. 安装
  • 常见的数据库:Mysql、Oracle 数据库操作方式:SQL(结构化查询语言—可以对数据库进行操作) 注意事项 每个语句结束必须以分号结束; 符号要在英文状态下; 如果忘记加分号,可以在新的一行直接输入分号即可 ; ...
  • 摘要:当前研发工作经常出现因数据库表、数据库表字段格式不规则而影响开发进度问题,在后续开发使用原来数据库表时,也会因为数据库可读性不够高,表字段规则不统一,造成数据查询,数据使用效率低问题,...
  • 虽然熟练掌握SQL人对于Null不会有什么... 即便是50年后今天, SQL中的 null 值还是导致许多常见错误罪魁祸首.我们一起来看那些最令人震惊情况。Null不支持大小/相等判断下面2个查询,不管表 users 有多少...
  •  2、界面中英文混杂,界面元素参差不齐,文字显示不全 3、无自动安装程序或安装程序不完善 4、界面中信息不能及时刷新,不能正确反映当前数据状态,可能误导用户。如:数据库中剩余记录个数和参数设置对话框中...
  • 对于实验过程可能出现问题,大家可以看看这篇博客链接: ORACLE 10g新手入门常见错误整理.1)下载Oracle10g数据库服务器安装程序,进行数据库服务器软件安装这里安装路径不能有括号等特殊符号,最好是纯英文,...
  • 对于实验过程可能出现问题,大家可以看看这篇博客链接: ORACLE 10g新手入门常见错误整理. 1)下载Oracle10g数据库服务器安装程序,进行数据库服务器软件安装 这里安装路径不能有括号等特殊符号,最好是纯英文...
  • PO persistantobject持久对象,可以看成是与数据库中的表相映射java对象 OOP 面向对象编程 EJB (企业级JavaBean)是一个用来构筑企业级应用服务器端可被管理组件, 设计目标与核心应用是部署分布式应用程序...
  • MySQL 1.什么是数据库 数据库:英文为Database, 简称:DB 数据库的分类: 数据库根据储存采用的数据结构的不同...3.常见的关系型数据库 SQL Server 微软提供,适用于大型项目 Oracle 甲骨文公司 , 适用于大型或超大型
  • oracle数据库开发注意事项

    千次阅读 2017-06-10 09:50:37
    作为java程序员对数据库有...oracle数据库开发规范查询语句不走索引的常见原因数据库中常见的问题一、oracle数据库开发规范1、所有的名称用英文要用简单明了的英文单词或简明的英文缩写,不要用拼音,特别是拼音...
  • 最简单PO就是对应数据库中某个表中的一条记录,多个记录可以用PO集合。PO应该不包含任何对数据库的操作。 二、VO:value object值对象。通常用于业务层之间数据传递,和PO一样也是仅仅包含数据而已。...
  • 1:模糊查询是比较常见的一种查询方式,例如在订单表,包含有订单的具体日期。如果要查询某年某月的订单信息,最好的方式就是使用模糊查询。进行模糊查询需要使用关键字LIKE。在使用LIKE关键字进行模糊查询时,...
  • 数据库 2020-09-27

    2020-09-27 21:56:33
    常见的数据库软件 (1)Oracle:收费的大型数据库,Oracle公司的产品 (2)MySQL:开源免费的数据库,小型的数据库,已经被Oracle收购了,MySQL6.x版本后也开始收费 (3)DB2:IBM公司的数据库产品,收费的,常用于...

空空如也

空空如也

1 2 3 4 5 ... 16
收藏数 313
精华内容 125
关键字:

常见的中英文数据库