摘要:
SQL语言引导词 DDL:数据库定义语言 DML:数据库操作语言 DCL:数据库控制语言 1.DDL语句引导词 数据库定义语言 用于各种对象的定义和删除,操作对象是表 2.DML语句引导词 数据库操作语言:增删改查,操作对象是记录 3.DCL语句引导词 数据库控制语言,操作对象是用户权限 常用数据库 阅读全文
摘要:
“关系代数是基于集合的查询” “关系演算是基于逻辑的查询” 他们共同构成了数据库结构化查询语言SQL的基础 关系演算概述 关系演算是以谓词演算为基础的 关系元组演算 1.公式的递归构造 sitar:比较运算(>、<、>=、<=、!=、==) 只有这几条之内的,属于【公式】 所有公式都是由以上基本公式 阅读全文
摘要:
基本操作 前提条件:并相容性 是并、差、交等关系代数操作的前提 参与运算的两个关系及其相关属性之间必须又一定的对应性、可比性或关联性 两个关系的属性数量必须相同 对于任意i,关系R的第i个属性必须与另一个关系的第i个属性的域相同(数据类型、取值范围) 一、传统集合运算 并交差积 1.并运算 U/Un 阅读全文
摘要:
数据库系统的组成 1.硬件平台 2.软件 3.人员 (1)数据库管理员(DBA) (2)系统分析员、数据库设计人员 (3)应用程序员 (4)最终用户 1.偶然用户 2.简单用户 3.复杂用户 关系数据库 关系模型是从表(Table)的处理方式中抽象出来的 在对传统表的操作上,进行数学化严格定义的基础 阅读全文
摘要:
数据模型 数据模型是什么 数据模型是对现实世界数据特征的抽象 数据模型应该满足的要求 数据模型分类 1.现实→概念→逻辑→物理转换过程 2.概念模型 信息世界基本概念 实体(Entity) 属性 码(键) 实体型 实体集 联系 ER图:实体-联系方法(待续) 数据模型的组成要素 1.数据结构 2.数 阅读全文
摘要:
1.1四个基本概念 1.数据定义 2.数据库定义 3.数据库管理系统DBMS 数据库管理系统是介于操作系统与用户之间的 DBMS主要功能: 4.数据库系统 定义与构成: 在不引起歧义的情况下,将数据库系统简称为数据库 1.2数据管理技术的产生和发展 什么是数据管理 三大阶段 三大阶段应用程序与数据关 阅读全文
摘要:
详见:https://learn.microsoft.com/zh-CN/dotnet/csharp/language-reference/preprocessor-directives 预处理指令简介 C#中可使用这些指令来帮助条件编译。 不同于 C 和 C++ 指令,不能使用这些指令来创建宏。 阅读全文
摘要:
所属命名空间 .NET 3.5在 System.Collections.Generic 命名空间中包含一个新的集合类:HashSet 这个集合类包含不重复项的无序列表称作HashSet。(类似C++的unordered_set?) 这个集合基于散列hash值,插入元素的操作非常快,不需要像List类 阅读全文
摘要:
简介 字典是C#开发中经常使用的一种键值对容器,类似C++的map,可使用foreach或迭代器遍历 不能装多个相同key,底层实现是哈希函数 具体用法 1.创建 Dictionary<key, value> // Key和 Value可以是任意类型 Dictionary<int, string> 阅读全文
摘要:
反射 对于一个现有对象,能够在不使用new操作符、不知道其具体静态类型的情况下,创建出一个同类型的对象,还能访问这个复制品对象拥有的各个成员。 相当于进一步的解耦,可以不使用new操作符,就没有类型的依赖关系 这样的耦合关系甚至可以弱到忽略不计 反射在.NET和JAVA中非常重要 为什么需要反射 很 阅读全文
摘要:
接口的本质是一个功能的提供者与服务的调用者(消费者)之间的一个契约(contract) (协议、标准) 所以接口的所有成员必须是public的 举例1 可迭代接口 Foreach遍历的唯一要求是遍历对象是“可迭代的”,这可以视作一个调用者需求 提供者必须满足这个需求,遍历对象与变量操作之间通过接口达 阅读全文
摘要:
接口与抽象类是所有高阶面向对象的起点,是学习设计模式的前置条件 必须有实践基础之后,才能真正掌握算法、设计模式 设计模式的基础 solid五大设计原则(待续) 1.单一职责原则 single responsibility principle 2.开放-关闭原则 Open-close principl 阅读全文
摘要:
重写override 子类中重新定义父类中已有的方法 重写语法 需要在要重写的父类方法添加一个virtual修饰符(虚方法) 在子类中的同名方法添加一个override修饰符 子类中添加新的成员,是继承中对父类的横向扩展 重写不添加新成员,而是增加已有成员的新版本,可以看着对父类的纵向扩展 但使用不 阅读全文
摘要:
class是一种引用类型 每一个类是一种自定义的引用类型 类的构造器 详见方法章节-构造器方法 在C#中,堆内存中的一个实例对象没有被任何变量访问时,会自动被垃圾收集器收集处理 扩展内容 类的析构器(待续) 如果类的对象调用了一些系统底层的资源,垃圾收集器自动处理垃圾时,不会释放这部分系统资源,此时 阅读全文
摘要:
自定义事件的完整声明 前言: 编程规范:声明的委托类型用EventHandler作为后缀 编程规范:用于传递事件数据的类名,用EnventArgs作为后缀 委托、事件拥有者(customer)、事件数据传递类要配合在一起使用,所以他们的访问基本必须的一样的。 step1.声明事件封装的委托类型 st 阅读全文
摘要:
初步了解事件 事件的自然语意:能够发生的事,能以“发生”为谓语的东西 C#中定义:一个对象或类的成员,使这个对象或类具备通知能力 “响铃这个事件,使手机具备了通知关注这个手机的人的能力” 在事件发生时,关注者通过收到的通知,能得到和事件相关的一些信息(称作事件参数) 关注者会去检查收到的事件信息(事 阅读全文
摘要:
示例:回调方法 (也称作好莱坞方法) 演员去面试,给导演留了名片 导演说如果选中他,会给他打电话的 using System; namespace CallBack { class Program { static void Main(string[] args) { //创建工厂实例 Produc 阅读全文
摘要:
“幻想:如果能有一种能把方法当参数的方法就好了” 一、什么是委托 委托源自C、C++中的函数指针 1.C语言中的函数指针 (1)函数的直接调用 先准备好一个加法函数,一个减法函数 可以通过函数名调用这两个函数,这种调用方法称作直接调用 (2)函数指针的声明、间接调用 先按下图中的方法声明一个函数指针 阅读全文
摘要:
一、值参数(传值参数、值传递) 指参数的种类为值参数,而非参数数据类型为值类型 1.值类型的传值参数 类似一个新声明的局部变量,或传进来的实参的一个副本 可以在方法体内重现赋值,但其在方法体内被赋值时,不会影响传进来的本体 2.引用类型的传值参数 引用类型变量存储的是实例在堆内存中的地址 (1)在方 阅读全文
摘要:
一、索引器[ ]概述 使一个对象可以像数组一样用方括号[ ]去访问其元素 ex:字典的声明 1.索引器的声明 首先像上文那样声明一个字典Dictionary< , > 在VS中输入indexer,然后敲两下tab 就能得到:(按下tab可以跳到下一个可编辑项上) 第一个类型参数为返回值的类型,第二个 阅读全文