数据库

数据对象的映射关系

落爺英雄遲暮 提交于 2020-03-23 23:07:24
上图是一个以用户信息为中心的实体关系图,关系说明如下: 一个用户可拥有一个可选的用户扩展信息(1 - 0) 一个用户扩展信息拥有一个必需的所属用户信息(0 - 1) 一个用户扩展信息拥有一个用户地址信息(复合类型) 一个用户可对应多个登录日志信息(1 - N) 一个登录日志拥有一个必需的所属用户信息(N- 1) 一个用户可以拥有多个角色(N - N) 一个角色可以分配给多个用户(N - N) 下面来依依看一下这几种数据表的关系 第一种:0:1。举例说明:有一个数据表Emplyee代表该公司的员工表,而该公司里的员工有一个通讯账号数据库表MessagingAccount,而有些员工不使用,也就是没有通讯账号。这就说明员工Employee和MessagingAccount之间的关系就是一个员工对应一个通讯账号,或者一个员工没有通讯账号。 WithOptional:将关系配置为required:optional。(required:0…1端的1,表示必需,不可为null;optional:0…1端的0,表示可选,可为null。下同) 第二种:1:1.举例说明:还是第一种的例子中每个员工都有一个通讯账号的话。 WithRequiredDependent:将关系配置为required:required。要配置的实体类型将成为依赖对象,且包含主体的外键。作为关系目标的实体类型将成为关系中的主体

EF Code First:实体映射

百般思念 提交于 2020-03-23 23:06:45
二、实体映射 实体与数据库的映射可以通过DataAnnotation与FluentAPI两种方式来进行映射: (一) DataAnnotation DataAnnotation 特性由.NET 3.5中引进,给.NET中的类提供了一种添加验证的方式。DataAnnotation由命名空间System.ComponentModel.DataAnnotations提供。下面列举实体模型中常用的DataAnnotation特性: KeyAttribute:对应数据库中的主键 RequiredAttribute:对应数据库中字段的数据是否可以为null MaxLengthAttribute:对应数据库中字符串类型字段的最大长度 MinLengthAttribute:在数据库中无对应,但在代码中字符串最小长度 ConcurrencyCheckAttribute:指定用于开放式并发检查的列的数据类型 TimestampAttribute:将列的数据类型指定为行版本 System.ComponentModel.DataAnnotations命名空间中只定义了部分实体验证的特性,在EntityFramework程序集中定义了更多的数据映射特性: DatabaseGeneratedAttribute:标记指定实体属性是由数据库生成的,并指定生成策略(None数据库不生成值,Identity当插入行时

Microsoft Sync Framework同步数据库 2:同步SQL Server和SQL Server Compact示例

匆匆过客 提交于 2020-03-23 17:32:45
同步SQL Server和SQL Server Compact示例 本篇文章通过使用 Sync Framework同步数据库的一个完整示例讲述了 执行常见同步任务的操作步骤。该示例旨在说明如何通过使用 Sync Framework 同步 SQL Server 数据库(包括 SQL Server Express 和 SQL Server Compact)。 创建示例服务器数据库 这里,我们将创建一个示例 SQL Server 数据库,以后在同步应用场景中将会使用该数据库。下面是创建该数据库的详细步骤: 1.启动SQL Server Management Studio(SSMS),连接到SQL Server服务器。 2.新建一个查询,输入并运行一下SQL脚本: USE [master] GO IF EXISTS(SELECT name FROM sys.databases WHERE name = 'SyncDB') DROP DATABASE SyncDB CREATE DATABASE [SyncDB] GO USE [SyncDB] GO CREATE TABLE [dbo].[Products]( [ID] [int] NOT NULL, [Name] [nvarchar](50) NOT NULL, [ListPrice] [money] NOT NULL

Mysql-windows安装

为君一笑 提交于 2020-03-23 17:14:06
1.mysql下载 Mysql-window下载 1.1 环境变量配置 1)首先在官网下载最新的mysql8.0.11数据库,解压到你需要放置的盘符最好不要有中文,然后新建MYSQL_HOME 2)参数为mysql解压后安装文件的bin文件路径如我的: 变量名:MYSQL_HOME 变量值:E:\tools\database\mysql\mysql8.0.11\mysql-8.0.11-winx64\bin 3)然后在Path变量开头添加%MYSQL_HOME%;然后确定保存即可 2.创建my.ini 在解压后的目录中,如:E:\tools\database\mysql\mysql8.0.11\mysql-8.0.11-winx64 创建my.ini文件,并创建数据目录。文件内容如下: [client] port=3306 [mysql] no-beep # default-character-set= [mysqld] port=3306 # mysql根目录 (修改点!) basedir=D:\\software\\mysql-8.0.11-winx64 # 放所有数据库的data目录 (修改点!) datadir=D:\\software\\mysql-8.0.11-winx64\\data # character-set-server=utf8mb4 #

数据库设计的六个阶段详解

假如想象 提交于 2020-03-23 17:13:09
数据库设计的阶段 数据库设计可以分为6个阶段 1. 系统需求分析阶段 2. 概念结构设计阶段 3. 逻辑结构设计阶段 4. 物理结构设计阶段 5. 数据库实施阶段 6. 数据库运行和维护阶段 各阶段的任务 系统需求分析 对现实世界要处理的对象进行详细的调查,通过对原系统的了解,收集支持新系统的基础数据并对其进行处理,在此基础上确定新系统的功能。 1. 调查分析用户活动 2. 收集和分析需求数据,确定系统边界信息需求,处理需求,安全性和完整性需求 3. 编写系统分析报告 两种方法:自顶向下,自底向上 概念结构设计 将需求分析数据抽象成局部E-R模型,再将局部E-R模型集成为全局E-R模型 逻辑结构设计 将概念模型转换成特定DBMS所支持的数据模型的过程 由初始关系模式设计到关系模式规范化再到模式评价 物理结构设计 对于给定的逻辑数据模型,选取一个最适合应用环境的物理结构 数据库实施 根据逻辑设计和物理设计的结果,在计算机上建立起实际的数据库结构、装入数据、进行测试和试运行的过程。 数据库运行和维护 主要有以下三项内容: 1. 维护数据库的安全性和完整性 2. 监测并改善数据库性能 3. 重新组织和构造数据库 来源: https://www.cnblogs.com/sunbr/p/12552910.html

如果有一个特别大的访问量到数据库上,怎么做优化?主从复制、读写分离

余生颓废 提交于 2020-03-23 17:07:34
第一个就是使用优化查询的方法。这个在前期的内容中有具体说明,这里不再做说明。 第二、这里简要说明一个以下几个方法:    主从复制、读写分离、负载均衡    目前,大部分的主流关系型数据库都提供了主从复制的功能,通过配置两台(或多台)数据库的主从关系,可以将一台数据库服务器的数据更新同步到另一台服务器上。网站可以利用数据库的这一功能, 实现数据库的读写分离,从而改善数据库的负载压力。 一个系统的读操作远远多于其写操作,因此写操作发向master,读操作发向slaves进行操作(简单的轮循算法来决定使用哪个slave)。   利用数据库的读写分离,web服务器在写数据的时候,访问著数据库(Master),主数据库通过主从复制机制将数据更新同步到从数据库(Slave),这样web服务器读数据的时候,就可以通过从数据库获得数据。这一方案使得在大量读操作的web应用可以轻松地读取数据,而主数据库也只会承受少量的写入操作,还可以实现数据热备份,可谓是一举两得的方案。 1.复制的基本原则    MySQL复制是异步的且串行化的;   每个Slave只有一个Master;   每个Slave只有一个唯一的服务器ID;   每个Master可以有多个Slave; 2.一主一从常见配置:   MySQL版本一致且后台以服务运行;   主从都配置在[mysqld]结点下,都是小写,主机修改my

Excel表数据导入数据库表中

一笑奈何 提交于 2020-03-23 16:45:43
***Excel表数据导入到数据库表中 通过数据库表的模板做成‘Excel’表的数据导入到数据库相应的表中(注意:主表 和 从表的关系,要先导‘主表’在导入从表) 过程:通过数据库的导入工具—先导入为一张临时表,在插入到正式表中。语句如下: --YK_TYPK插入数据 insert into YK_TYPK --插入'YK_TYPK(通用品库)'数据 select * from Sheet1$_TYPK_caoyao ------------------------------------------------------------ 来源: https://www.cnblogs.com/xiadong90-2015/p/4208882.html

windows下mongodb设置用户名密码&用python连接

旧城冷巷雨未停 提交于 2020-03-23 16:38:36
环境: 主机:WIN10 python版本:3.5 mongodb版本:3.4.2 开发环境:pyCharm mongodb设置用户名密码: 编写mongodb配置文件mongodb.conf dbpath=F:\test\db1 logpath=F:\test\log\mongodb.log logappend=true bind_ip=127.0.0.1 port=27019 #fork=true master=true auth=false 注意:设置用户名密码前将auth参数设置为false 在命令行窗口运行mongodb服务器 输入命令:mongod -f f:/test/mongodb.conf 在命令行窗口运行shell界面配置用户名密码 注意:直接输入mongo连接数据库默认ip是127.0.01,端口是270717 输入命令:mongo.exe mongodb://localhost:27019 在shell界面配置账号管理员root,利用此账号可以增加其他账号 注意:账号管理员没有读写的权限,只能增加其他账号 输入命令:use admin 输入命令:db.createUser({user:"root",pwd:"root",roles:[{"role":"userAdminAnyDatabase","db":"admin"}]})

数据库主体在该数据库中拥有 架构,无法删除。

若如初见. 提交于 2020-03-23 13:06:09
sql server 2005 新建了一个用户试用权限,随便给这个用户分配了2个架构之后。发现删不掉这个用户了,网上搜一下, 把架构移走就好 我是把“db_datareader ”,“db_datawriter ”两个架构赋给新用户的,用下面的语句把这两个架构 重新赋给db_datareader,db_datawriter两个实体。 ALTER AUTHORIZATION ON SCHEMA::db_datareader TO db_datareader; ALTER AUTHORIZATION ON SCHEMA::db_datawriter TO db_datawriter; --查看用户拥有哪些架构 select * from sys.schemas where principal_id = user_id('用户名') select user_id('db_datareader') select * from sys.schemas 来源: https://www.cnblogs.com/lgx-net/archive/2008/08/26/1276536.html

everything-like项目

末鹿安然 提交于 2020-03-23 12:49:11
项目名称:搜索文档小能手 项目描述: 1)根据选定的路径,递归的找到这个路径下所有的文件,并将其全部显示出来,其中显示的有四列,分别是文件名称、文件路径、文件大小、文件最后修改时间。 2)选定路径下的文件会存入SQLite数据库中,并且对于数据库中有,而本地没有的文件,数据库会进行删除,做到本地与数据库一致。 3)对于在表中显示的文件,即指定路径下的文件,可以根据文件名称进行搜索,而对于文件名中包含中文的文件,还可以使用全拼或者首字母进行搜索。 4)如果你选定一个路径,但是还没有搜索完成,又再次选择另一个路径,则会终止之前的任务,直接开始新任务的搜索。 主要使用到的技术:多线程、SQLite、pinyin4j 项目完成截图: 来源: 51CTO 作者: 王果果ooo 链接: https://blog.51cto.com/14232274/2480958