数据库结构

ABAP笔记1

℡╲_俬逩灬. 提交于 2020-03-09 02:55:21
1. 基本数据类型: C : 1~65535 byte,默认长度为1,初始值为space,字符串编辑不允许换行 D : 日期型,8byte 默认值‘00000000’,最大 9999/12/31 T :时间型,6byte 默认值 ‘000000’ N:数值组成的字符串型,1-65535byte,默认每个位上都是'0',设定前置0时很方便,能计算,但是不能参与负数计算 I :整型,-2^31~2^31-1,默认值为0 F :浮点型,8byte,默认0,可精确到小数点后17位,若为小数,则用引号,几乎不使用,一般用P类型 X : 十六进制,1-65535byte,若值是字母,必须大写,在写文件时,字符串换行 P : packed数,1-16byte,默认值为0,赋值需加引号,赋值长度 = 定义长 * 2 - 1 若L_NUM(3) TYPE P decimals 2,则长度为 3 * 2 - 1 = 5,即小数个位为2,整数位为3。 最多有14位小数位,则最多整数位=2*16-1-14=17位。若小数位超出长度,则按四舍五入去掉多余,若整数位超出长度则程序报错 2. 定义时Type 跟 LIKE 区别: TYPE 后跟类型,8种基本类型或数据元素 LIKE 后跟变量,或数据库字段名,如T001-BUKRS 3. SY-INDEX 系统计数器 SY-DBCNT 符合条件条目数 SY

DDIA读书笔记 第三章 存储与检索

╄→尐↘猪︶ㄣ 提交于 2020-03-08 14:59:02
log-structed 日志结构 哈希索引 SSTable 与 LSM树 日志文件的压缩 分段 合并 page-oriented 面向页面 B树 数据库 聚集索引 非聚集索引 多列索引 数据分析 列存储 1 最简单的数据库 #!/bin/bash db_set () { echo "$1,$2" >> database } db_get () { grep "^$1," database | sed -e "s/^$1,//" | tail -n 1 } 最简单的数据库,日志结构,写很快,读很慢。可以看出,对于日志结构的数据库,要在读操作上做优化。 为了加快读,可以添加索引。但是索引会拖慢写操作,因此只给需要频繁读的字段添加索引。 2 哈希索引 最容易想到的一种索引策略就是哈希索引。 数据以追加写的方式存储在文件中,内存里保留一个哈希表,key 为索引字段的值,value 为偏移量,如下图所示。该方法适用于键值更新频繁的场景,并且键的总量放在内存中可以hold得住。 Bitcask 就是基于哈希索引的,详见 Bitcask 存储模型 压缩、分段、合并 以上讨论的数据库都是追加日志的,这就需要考虑在日志文件过大时,对文件进行压缩、分段、合并等操作。 数据库的历史指令可能重复对一个键进行操作,显然只需要保留每个键的最新更新就行,这就需要对数据库文件进行分段压缩。在压缩时

猴子都能懂的数据库避坑指南,还说你不会?

老子叫甜甜 提交于 2020-03-06 15:08:39
前言 工作的这些年发现一个比较奇怪的现象就是身边无论是工作十多年的老兵,还是初级刚入行的程序员,在高谈阔论技术和趋势的时候都是人工智能,大数据,区块链,各种框架,语言,算法,AI,BI,CI,DI…… 等等,倒是发现很少有人关注数据库,不知道是因为数据库感觉太低端还是太低调,总是不容易被人提起 技术就是这样,不太关注的地方就不会重视,越是不被重视的地方,掉进坑里的概率就会越大,所以就在这里给大家简单聊聊在使用数据库过程中有哪些防掉坑指南,也可以对刚入行的小朋友有一个提醒的作用,万丈高楼平地起,一定要先打好基础再去考虑上层的建筑,不要舍本逐末 本章主要分以下四个小节(预计读完 5 分钟左右): 数据库为什么重要 数据库有哪些使用技巧 数据库有哪些容易掉进去的坑? 深入学习数据库的建议 数据库为什么重要 很多人在开发过程中不太关注数据库,对于表结构的设计也没什么讲究大多属于“能用就行”,但是根据作者将近十年的开发经验来看的话,只要你是从事 Web 相关领域开发你就无法避免不和数据库打交道, 在Web开发中大多功能操作本质上都是对数据库进行操作 ,不管你用是 Pythod,Java,Ruby 等语言进行 Web 开发,你其实都是在面向数据库进行编程,很多 Web 框架作者为了避免程序员接触数据库的相关知识甚至还封装了一层 ORM (Object Relational Mapping

【数据库】三级模式、二级映射

北城余情 提交于 2020-03-04 23:01:59
三级模式和二级映射 在数据模型中有 “型” (Type, T)和 “值” 的概念。 型: 是指对某一类数据的结构和属性的说明 类比: 类 值: 是型的一个具体赋值。 类比: 对象 模式和实例: 模式: 是数据库中全体数据的逻辑结构和特征的描述,它仅仅涉及到型的描述,不涉及到具体的值。 实例: 模式的一个具体值称为一个实例。同一个模式可以有很多实例。 对比: 模式 是 相对稳定 的,而 实例 是 相对变动 的,因为数据库中的数据是在不断更新。 模式 反映的是数据的结构及其联系,而 实例 反映的是数据库某一时刻的状态。 三级模式结构 数据库领域公认的标准结构是三级模式结构,它包括模式、外模式和内模式,有效地组织、管理数据,提高了数据库的逻辑独立性和物理独立性。 模式: 又称 概念模式 或 逻辑模式 ,对应于 概念级 。 它是由数据库设计者综合所有用户的数据,按照统一的观点构造的 全局逻辑结构 ,是对数据库中全部数据的逻辑结构和特征的总体描述,是 所有用户的公共数据视图 ( 全局视图 )。 它是由数据库管理系统(DBMS)提供的数据模式描述语言(Data Description Language, DDL )来描述和定义的, 体现和反映了数据库系统(DBS)的 整体观 。 补充: 数据模式定义语言 (Data Definition Language, DDL )

Django(三) ORM 数据库操作

旧时模样 提交于 2020-03-03 20:15:27
大纲 一、DjangoORM 创建基本类型及生成数据库表结构 1、简介 2、创建数据库 表结构 二、Django ORM基本增删改查 1、表数据增删改查 2、表结构修改 三、Django ORM 字段类型 1、字段类型介绍 2、字段参数介绍 3、Django ORM 外键操作 一、DjangoORM 创建基本类型及生成数据库表结构 1、简介 ORM:关系对象映射。定义一个类自动生成数据库的表结构。 创建数据库的时候,一般有以下几种常用数据类型:数字、字符串以及时间。 ORM分为两种: DB First 数据库里先创建数据库表结构,根据表结构生成类,根据类操作数据库 Code First 先写代码,执行代码创建数据库表结构 主流的orm都是code first。django 的orm也是code first,所以学的时候,本质就分为两块: 根据类自动创建数据库表 根据类对数据库表中的数据进行各种操作 2、创建数据库 表结构 先写类: app下models.py文件: from django.db import models class UserInfo(models.Model): # 必须继承models.Model # 不写则,django默认创建ID列,自增,主键 # 用户名列,字符串类型,指定长度 username = models.CharField(max_length

初步认识数据库与数据库系统的结构抽象

為{幸葍}努か 提交于 2020-03-02 14:45:55
文章目录 初步认识数据库 什么数据库系统 Table的构成暨关于Table的常用术语 数据库与“表”的关系 数据库系统的构成 什么是数据库管理系统 数据库管理系统应具有什么功能 用户角度 系统角度 什么是数据库语言 小结 数据库系统的结构抽象与演变 数据库系统的标准结构 三级模式 两层映像 两个独立性 逻辑数据独立性 物理数据独立性 数据模型 什么是数据模型 三大经典数据模型 数据库的系统演变 简要发展史 发展阶段 从文件系统到数据库 由层次模型数据库、网状模型数据库到关系数据库 由关系数据库到对象关系数据库、面向对象数据库 由多种多样的数据库到多数据库开放式互连 小结 查缺补漏 一 二 补充 本文为数据库的学习笔记,学习资源请见中国大学MOOC哈工大数据库视频。 初步认识数据库 什么数据库系统 数据库是电子化信息的集合 将信息规范化并使之电子化,形成电子信息库,以便利用计算机对这些信息进行快速有效的存储、检索、统计与管理. 数据库起源于规范化“表(Table)”的处理。 Table : 以按行按列形式组织及展现的数据。 Table的构成暨关于Table的常用术语 (关系)模式,表名,表标题(格式),表内容(值),表/关系,列/字段/属性/数据项(column/field/attribute/data item),行/元组/记录( row /tuple /record ),列名

maven环境搭建及结构框架

本小妞迷上赌 提交于 2020-03-01 20:12:50
工具介绍: idea mySQL 5.5.8 最好不超过5 JDK1.8 Tomcat8.0 Maven 3.6.0 Editplus 步骤: 1、先准备数据库 创建数据库—— db_gm,创建表 —— tb_user 2、建项目maven archetypeCatalog=internal JAR包路径C:\Users\yangc.m2\repository 3、导包 pom.xml 4、创建项目的目录结构——java、resource、webapp 5、根据mvc的非常开发思想创建包结构名 -MVC结构 MVC M:model V:View C:Controller 6、model/bean/pojo/entity ——存放实体类 dao/mapper ——存放接口,与数据库直接交互 service ——业务逻辑层,大致与dao层一致 controller ——控制层 来源: CSDN 作者: y17757773039 链接: https://blog.csdn.net/y17757773039/article/details/104592609

比较两个数据库的表结构差异

試著忘記壹切 提交于 2020-02-29 22:10:28
/*--比较两个 数据库 的表结构差异 --邹建 2003.9(引用请保留此信息)--*/ /*--调用示例 exec p_comparestructure 'xzkh_model','xzkh_new' --*/ if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[p_comparestructure]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [dbo].[p_comparestructure] Go create proc p_comparestructure @dbname1 varchar(250), --要比较的数据库名1 @dbname2 varchar(250) --要比较的数据库名2 as create table #tb1(表名1 varchar(250),字段名 varchar(250),序号 int,标识 bit,主键 bit,类型 varchar(250), 占用字节数 int,长度 int,小数位数 int,允许空 bit,默认值 varchar(500),字段说明 varchar(500)) create table #tb2(表名2 varchar(250),字段名 varchar

基于ArcEngine+C#实现的JLKDataManager空间数据平台架构设计

血红的双手。 提交于 2020-02-29 05:55:48
空间数据管理平台总体设计 随需而变 柔性再造 成都领 君科技有限公司 http:// www. linjon .cn 2012 年 11 月 目录 1. 引言 ... 1 1.1. 编写目的 ... 1 1.2. 背景 ... 1 1.3. 定义 ... 1 2. 总体设计 ... 1 2.1. 系统总体目标 ... 1 2.2. 系统总体构架 ... 2 2.3. 数据组织模型 ... 2 2.4. 系 统总体功能设计 ... 3 2.5. 系统运行环境 ... 4 2.6. 系统网络结构 ... 4 2.7. 系统软件开发环境 ... 5 2.8. 系统开发技术路线 ... 6 3. 各子模块功能设计 ... 6 3.1. GIS 基本工具 ... 6 3.1.1. 图形显示 ... 6 3.1.2. 图形输出 ... 6 3.2. 数据库管理维护功能 ... 7 3.2.1. 添加数据库 ... 7 3.2.2. 添加文件夹 ... 9 3.2.3. 版本管理 ... 9 3.2.4. 注册版本 ... 10 3.2.5. 附加要素集 ... 10 3.2.6. 附加要素类 ... 11 3.2.7. 节点重命名 ... 11 3.2.8. 数据入库管理 ... 11 3.2.9. 数据建库方案管理: ... 13 3.2.10. 数据加载 ... 15 3.2.11.

BerkeleyDB库简介

断了今生、忘了曾经 提交于 2020-02-28 06:07:21
BerkeleyDB库简介 BerkeleyDB (简称为BDB)是一种以key-value为结构的嵌入式数据库引擎: 嵌入式:bdb提供了一系列应用程序接口(API),调用这些接口很简单,应用程序和bdb所提供的库一起编译/链接成为可执行程序; NOSQL:bdb不支持SQL语言,它对数据的管理很简单,bdb数据库包含若干条记录,每条记录由关键字和数据(key-value)两部分构成。数据可以是简单的数据类型,也可以是复杂的数据类型,例如C语言的结构体,bdb对数据类型不做任何解释,完全由程序员自行处理,典型的C语言指针的自由风格; DB的设计思想是简单、小巧、可靠、高性能。如果说一些主流数据库系统是大而全的话,那么DB就可称为小而精。DB提供了一系列应用程序接口(API),调用本身很简单,应用程序和DB所提供的库在一起编译成为可执行程序。这种方式从两方面极大提高了DB的效率。第一:DB库和应用程序运行在同一个地址空间,没有客户端程序和数据库服务器之间昂贵的网络通讯开销,也没有本地主机进程之间的通讯;第二:不需要对SQL代码解码,对数据的访问直截了当。 DB对需要管理的数据看法很简单,DB数据库包含若干条记录,每一个记录由关键字和数据(KEY/VALUE)构成。数据可以是简单的数据类型,也可以是复杂的数据类型,例如C语言中结构。DB对数据类型不做任何解释, 完全由程序员自行处理