入门JAVA第十六天 数据库

news2024/11/17 14:27:15

一 、数据库技术学习内容与方法

1.1学习内容 

1 Oracle 数据库

        目前最好的关系型数据库

        基本的CRUD命令。

        SQL语句。select(R),update(U),detele(D),insert(C)

2 MySQL数据库

        中小型醒目非常好用的关系型数据库。

        灵活,小巧。

3 扩展软件开发流程中数据库设计原则

        ER图--->根据需求分析数据库结构。

        三范式--->学会使用凡是来规范表结构

4 JDBC

        再Java中链接数据库技术

        在Java代码中向操作数据库中的数据。就必须使用到JDBC技术。

        工具类的封装。DAO-Service的分层。

        一定要遵守编码规范 

 1.2 学习难点

1 数据库高级查询:子查询,多表连接查询,自连接查询。

2 分级查询与聚合函数。

3 分层时事务处理,异常处理,资源释放。必须按规范编写。

1.3 学习方法

1 背:SQL语句就是一些固定的格式。

        例如查询所有:select*from 表名

2练习:JDBC的规范

二、 数据库,数据库管理系统,数据库可视化工具

2.1 数据库(DataBase)

数据库:一个保存数据的仓库。

在计算机中只有因公安能长期保存数据。

数据库主要是保存到硬盘的数据。都是以文件的形式保存

2.2 数据库管理系统(DataBase Manager System)

我们平时叫数据库,说的其实是DBSM

数据库管理系统就是一个软件系统。我们使用这个软件系统来管理保存数据的文件。

我们通过向管理系统发送命令的方式,让管理系统帮我们去管理保存数据的文件。

通过DBMS可更方便的进行数据库的查询,过滤,保存,更新。

2.3 数据库可视化工具

这是一个与数据库管理系统无关的软件。

使用数据库可视化工具可以以界面的方式来管理数据。

操作Oracle数据库的可视化工具

 操作MySQL数据库的可视化工具

三、Oracle 数据库管理系统

3.1 Oracle数据库版本

XE 简化版,是一个可以实现CRUD的一个版本。

企业版和标准版,目前学习阶段不会使用

3.2 SID

我们使用Oracle数据库时。每一个库都是一个实例。实例的位移标识 称为SID。

Oracle数据库中每一个新工程,是分别创建不同的用户来实现区分。新工程与原有老工程,使用的库是同一个。

Oracle数据库一般只有一个库。其他都是创建不同的用户来实现对应不同的工程。

企业版:SIDorcl

简化版:SIDXE

3.3 sys和system

这是两个Oracle数据库中的管理员账号(DBA)。

Sys有最高的管理权限

但是平时我们是不适用syssystem

3.4 Scott账号

Oracle数据库中的一个案例账号。

XE版本中没有scott账号。

四、使用可视化工具

4.1 创建连接

第一步:使用sys或system创建连接

 4.2 创建新用户

在Oracle数据库,当有一个新的工程需要开发时,不是创建一个新的数据库。

而是创建新用户来使用。

 

还要为用户绑定角色

        CONNECTRESOURCE 

五、数据表(table)

5.1 关系型数据库

Oracle数据库号称关系-对象型数据库。

其实就是在关系型数据库基础上,使用了些对象的概念。

关系:一个关系其实就是一个二维表格。有行和列组成。

5.2 表的结构由确定

5.3 创建数据表

表中的列由:列名,数据类型,长度大小,非空约束,默认值约束PK主键约束

创建数据表就是为表设置列的过程。

列中:数据类型约束。 

 六、数据类型

6.1 可变长字符串类型varchar2

一个可以更具输入的字符串大小自动变短的数据类型。

Varchar2(20)表示最长可以保存20个字符长度的字符串类型。

        但是当输入的字符串长度不够20时,可以自动将大小缩短到合适的长度。

6.2 数据类型

Integer/int

Float/number(10,2)

number(10,2)表示可以保留10位有效数字,其中小数位是2

6.3 日期时间

Date             日期

Timestqmp  时间戳

七、完整性约束

完整性约束。是在数据库中为了保证数据 正确性的。

(1) 实体完整性约束

实体:表中每一行

完全完整性约束只有一个:主键约束PK

        必须保证每一个实体的唯一性。

使用主键约束的列(字段)具有唯一非空二项属性。

(2)域完整性约束

域:表中的列

域完整性就是用来维护一列数据的正确性。

域完整性约束:数据类型,长度大小,非空,唯一,检查,默认值

(3) 引用完整性约束

引用:两张表之间的关系

 

引用完整性的约束只有一种:外键约束(FK) 。

(4) 自定义完整性约束

自定义完整性是使用存储过程来实现的。

存储过程。在现在的开发中,明确不在使用的技术。

八、创建数据表

每张表都应该由一个主键字段。

主键字段的条件是实体之间唯一。

九、创建外键约束

外键约束完成引用完整性的约束条件。

引用完整性一定是两张表。

班级表class_no5 主键表   主键是 class_id

学员表student_no5 外键表 外键是 stu_class_id

 

需要stu_ class_id 的字段的值受class_id的约束。

应该为stu_class_id字段加外键约束条件。 

十、 三范式 

 

第一范式(1NF):保证域的原子性

列不可再拆分。

拆分列

第二范式(2NF):表中的所有非主键字段都依赖于表中的主键字段

取消部分依赖。

拆分表

第三范式(3NF):表中的所有非主键字段都直接依赖于表中的主键字段

取消传递依赖。

拆分表。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/380998.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

严格模式和非严格模式下的this指向问题

一、全局环境 1.函数调用 非严格模式:this指向是Window // 普通函数 function fn () { console.log(this, this); } fn() // 自执行函数 (function fn () { console.log(this, this); })() 严格模式:this指向是undefined //…

866363-70-4,N3-C5-NHS ester,叠氮-C5-NHS 主要物理性质分享

●外观以及性质:Azido-Aca-NHS淡黄色或无色油状,叠氮化物可以与炔烃、DBCO和BCN进行铜催化的点击化学反应。NHS酯可以与胺基反应,形成稳定的酰胺键。●中文名:叠氮-C5-NHS ester,6-叠氮己酸活性酯●英文名:…

「TCG 规范解读」PC 平台相关规范(2)

可信计算组织(Ttrusted Computing Group,TCG)是一个非盈利的工业标准组织,它的宗旨是加强在相异计算机平台上的计算环境的安全性。TCG于2003年春成立,并采纳了由可信计算平台联盟(the Trusted Computing Platform Alli…

CentOS 7安装N卡驱动和CUDA和cuDNN

前言系统一开始是CentOS 7.6,安装依赖时yum给的内核文件的版本号和uname -r的结果不一样,这时不能直接装依赖,装上后后面装驱动时会报错找不到内核头文件(最开始我直接装依赖了,以为高版本兼容低版本,然后装驱动时报错…

番外11:使用ADS对射频功率放大器进行非线性测试3(使用带宽5MHz的WCDMA信号进行ACLR测试)

番外11:使用ADS对射频功率放大器进行非线性测试3(使用带宽5MHz的WCDMA信号进行ACLR测试) 其他测试: 番外9:使用ADS对射频功率放大器进行非线性测试1(以IMD3测试为例) 番外10:使用AD…

前端工程构建问题汇总

1.less less-loader安装失败问题 npm install less-loader --save --legacy-peer-deps 加上–legacy-peer-deps就可以了 在NPM v7中,现在默认安装peerDependencies,这会导致版本冲突,从而中断安装过程。 –legacy-peer-deps标志是在v7中引…

MyBatis Plus Invalid bound statement 终极解决方案

MyBatis Plus Invalid bound statement 终极解决方案一、项目1.1 编码部分1.1.1 实体类1.1.2 dao层1.1.3 mapper.xml1.2 环境配置1.3 问题描述二、解决方案2.1 手动指定mapper.xml资源路径匹配规则2.2 使用mybatis自动配置2.3 测试效果三、附件一、项目 1.1 编码部分 1.1.1 实…

imx6ull_SPI

SPI简介 SPI 是Motorola 公司推出的一种同步串行接口技术,是一种高速、全双工的同步通信总线。SPI 以主从方式工作,通常是有一个主设备和一个或多个从设备,一般SPI 需要4 根线,但是也可以使用三根线(单向传输) 这四根线如下&…

torch函数合集

torch.tensor() 原型:torch.tensor(data, dtypeNone, deviceNone, requires_gradFalse) 功能:其中data可以是:list,tuple,NumPy,ndarray等其他类型,torch.tensor会从data中的数据部分做拷贝(而不是直接引用),根据原始数据类型生成相应类型的torch.Tenso…

RestTemplate Java调用restful接口

目录1. GET请求相关方法(1)getForObject(2)getForEntity2. POST请求相关设置请求头和请求体:HttpEntity(1)postForLocation(2)postForObject(3)po…

pyqt实现聊天机器人

环境要求 通过调用openai接口实现聊天机器人功能,支持各种参数得调整,文章末尾有各个参数得说明 python3.9pyqt5环境安装 pip install pyqt5 pip install openai pip install pyinstaller源码如下: chat.py import sys from PyQt5.QtWid…

Cortex-A7中断控制器GIC

Cortex-A7中断控制器GIC 中断号 芯片内部的中断都会引起IRQ InterruptGIC将所有的中断源(最多1020个中断ID)分为三类: SPI(SharedPeripheralInterrupt)共享中断,外部中断都属于SPI中断 [ID32-1019]PPI(PrivatePeripheralInterrupt)私有中断 [ID16-31]SGI(Software-…

【MySQL】基础操作:登录、访问、退出和卸载

一、MySQL简介 MySQL数据库最初是由瑞典MySQL AB公司开发,2008年1月16号被Sun公司收购。2009年,SUN又被Oracle收购。MySQL是目前IT行业最流行的开放源代码的数据库管理系统,同时它也是一个支持多线程、高并发、多用户的关系型数据库管理系统。…

亚马逊物流仓库配送延误,美国暴风雪造成损失严重!

美国拉响暴风雪警报,物流配送大面积延误 去年年底,美国的暴风雪给卖家带来的阴影还没有散去。在这本该春暖百花开的季节,暴风雪天气又回到了美国,这次的破坏力比去年年底的有过之而无不及。 当地2月22日,暴风雪在美国…

环境搭建01-Ubuntu16.04如何查看显卡信息及安装NVDIA显卡驱动

1. 查看显卡型号、驱动 ubuntu-drivers devices2. 安装NVIDIA显卡驱动 (1)验证是否禁用nouveau lsmod | grep nouveau若有输出,没有禁用,进行以下操作禁用。 sudo gedit /etc/modprobe.d/blacklist.conf在文件末尾中添加两条&…

从一个实例配置引入Prometheus的PromQL语法

1. PromQL介绍 PromQL提供对时间序列数据进行逻辑运算、过滤、聚合的支持。应用于数据查询、可视化、告警处理 2. 基本用法 2.1 查询时间序列 点击Prometheus图标,进行查询页面。可以点击地图图标查看有哪些metrics name。输入要查询的metrics name和过滤条件,然后点击执行…

数字逻辑基础:原码、反码、补码

时间紧、不理解可以只看这里的结论 正数的原码、反码、补码相同。等于真值对应的机器码。 负数的原码等于机器码,反码为原码的符号位不变,其余各位按位取反。补码为反码1。 三种码的出现是为了解决计算问题并简化电路结构。 在原码和反码中,存…

C语言 入门教程||C语言 指针||C语言 字符串

C语言 指针 学习 C 语言的指针既简单又有趣。通过指针,可以简化一些 C 编程任务的执行,还有一些任务,如动态内存分配,没有指针是无法执行的。所以,想要成为一名优秀的 C 程序员,学习指针是很有必要的。 …

湖北某灌区量测水监测系统-案例分享

应用背景湖北某灌区是当地主要的粮棉油产区,由于运行多年,渠系工程老化,阻水现象严重,造成了大量水资源浪费。该灌区2019年对渠道进行疏挖、清淤、衬砌,解决输水不畅等问题,2022年启动灌区续建配套与节水改…

Netty核心功能以及线程模型

目录 Netty核心功能以及线程模型 Netty初探 Netty的使用场景: Netty通讯示例 Netty线程模型 Netty模块组件 Netty核心功能以及线程模型 Netty初探 NIO 的类库和 API 繁杂, 使用麻烦: 需要熟练掌握Selector、 ServerSocketChannel、 So…