随笔分类 - 专题学习
摘要:一个数据库被映射到多个不同的文件,这些文件由底层的操作系统来维护。每个文件分成定长的存储单元,称为块(bolck),块是存储分配和数据传输的基本单元。数据库默认的块在4-8k之间。通常没有记录比块更大(图片音频等大文件先不考虑),此外还要求每条记录保存在单个块中。 一、定长记录instructor表
阅读全文
摘要:虽然基本的E-R特性可以应对大部分数据库建模,但为了使用方便,也提供扩展的E-R特性一、特化Specialization有时一个实体集会保护若干子集,这些子集各自具有不同的属性。比如person可以包含employee和student子集,这些子集在person本身属性的基础上,附加了特殊的属性,
阅读全文
摘要:通过建立实体到概念模型的映射,Entity-Relationship Model可以表达整个数据库的逻辑结构,很多数据库产品都采用E-R模型来表达数据库设计。一、E-R模型采用了三个基本概念:实体集、关系集和属性a)实体集实体Entity相当于现实中的事物或对象,比如大学中的一个person就是一个
阅读全文
摘要:除了基本的关系操作,还有一些附加(Additional)的操作,因为如果只用基本运算,有些表达式会比较繁琐,而附加操作是对某些基本表达的简化。a)交集(Set-Intersection Operation)交集运算符为∩,用于找出几个集合共有的数据,比如在2009秋季和2010春季都开课的课程(s
阅读全文
摘要:关系代数 Relational Algebra中,一元运算符有选择select、投影project、重命名remane,其余的包括并运算union、集合差set diffetence、笛卡尔积cartesian product等为二元运算符。下面学习它们的基本使用。一、一元运算符a)选择选择的操作符
阅读全文
摘要:一、函数和存储过程a)通过函数和存储过程可以将业务逻辑保存在数据库,在需要的时候调用。比如学生在一个学期可以修的最大课程数、导师的最小授课数等,这些判断具有比较复杂的逻辑,虽然在数据库外也可以实现这样的控制,但用函数或存储过程在数据库的入口来把关,可以与应用程序独立开来,便于维护。但感觉将业务逻辑独
阅读全文
摘要:一、一致性一致性包括not null、unique、checka)Not nullname varchar(20) not nullb)Unique如果A1, A2...等构成了候选键,可以用unique(A1, A2...)来保证其唯一性,但这些字段仍然可为空,而为空值与任何值都不相等。c)Ch
阅读全文
摘要:一、连接a)inner join中,on,可以用where替代,但用on来专门指定join条件,其它条件写在where中可读性更好。b)outer join对于连接字段为空的元祖,使用inner join时不会列出,outer join却不一样,left /right join会保留左(右)侧的连接
阅读全文
摘要:一、DDLa) SQL Data DefinitionSQL的基本数据类型有char(n)、varchar(n)、int、smallint、numeric(p,d)、real,double precision、float(n)等,int smallint real float依赖机器的精度b) ch
阅读全文
摘要: 一、关系数据库相关 a)在将数据呈现给用户时,主要需解决两个关键问题:如何检索、更新数据以及对数据的保护。而用户对字段的使用决定了其是否原子性,比如phone,即使保存单个电话号码,如果根据电话号码区分运营商、地域,则是不满足原子性的。b)键的分类:超键(Super key),由若干字段组合起来
阅读全文
摘要: 一、关系型数据库简介a)DMLSQL语言是非过程的,一次查询中,可以输入多张表,但结果只是一张表。比如select instructor.name from instructor where instructor.dept_name=’history’,查询语句定义了要查找dept_name列为
阅读全文
摘要:DBMS(database-management system)包括数据库和用于存取数据的程序,DBMS的基本目标是为数据的存取提供方便、高效的方式,此外对大多数企业来说,数据是非常重要的,所以DBMS还要保证数据的安全,比如在系统奔溃或收到未授权访问请求的时候。一、数据抽象a) 数据库系统隐藏了
阅读全文
摘要:使用Docker可以在操作系统上分出多个独立的区域(容器/Container),各个容器之间基本隔离,且可以有自己单独的系统配置、软件等,各个容器之间的软件基本不会互相干扰。Docker上配置好的容器可以随意移动到其它计算机中运行。Docker可以很好得保证应用之间的互相隔离,同时Docker的进程
阅读全文
摘要:本篇主要体验一下Nginx的使用,之前只接触过IIS。一、Nginxa) ASP.NET Core内置了Kestrel服务器,但功能简单,主要用于SelfHost,正式运行还是要依赖IIS、Apache、Nginx等功能全面的服务器,为ASP.NET Core程序提供类似缓存、压缩请求、SSL终端
阅读全文
摘要:MVC Core的改动感觉挺大的,需要的功能大多从Nuget安装,还内置了IOC,支持SelfHost方式运行等等。 一、项目结构的变化创建的新MVC项目的结构发生了变化,比如:静态文件需要统一放置到wwwroot文件夹,配置文件变成了appsettings.json,用startup.cs文件代替
阅读全文
摘要:EFCore与之前的EF基本类似,区别在于配置的时候有一些差异;也取消了DB First和Model First,仅保留广泛使用的Code First模式;也不再支持LazyLoad。这里就感受一下其基本使用。一、EFCore的基本使用EFCore的Nuget包为Microsoft.EntityF
阅读全文
摘要:.Net Core(一)环境搭建与基本使用 一、系统配置 a) Linux下如果想要打开类似任务管理器,可以使用top命令,在控制台会动态刷新CPU和内存占用、进程等信息。vmstat和free命令可以分别只显示CPU和内存的使用情况。磁盘占用在Ubuntu下可以通过磁盘分析器查看。 另外如果要火狐
阅读全文
摘要:对于一个应用来说,获取数据的方法可以有很多,比如:Ajax, Websockets, LocalStorage, Indexdb, Service Workers,但是如何整合多种数据源、如何避免BUG、如何提高可维护性、如何提升应用的速度,这些却又是需要解决的问题。MVC是经典的Web应用开发模式
阅读全文
摘要: 一、HTTP a)Angular提供了自己的HTTP库来调用外部API,为了能够在等待API响应的过程中继续与界面交互,采用异步HTTP请求的方式。 b)Get请求,首先导入Http, Response,http.request方法返回Observable类型,所以可以使用Observable.
阅读全文
摘要:一、依赖注入 a) 如果模块A需要依赖模块B,通常的做法是在A中导入B,import{B} from ‘B’,但有一些场合需要解除这种直接依赖,比如单元测试时需要mock一个B对象、还有时要创建B的单例或者用工厂模式生成B,这时适合使用依赖注入(Dependency Injection)的方式来解除
阅读全文