【数据库】【概念 杂】


//建表的实例应用
        首先画ER图:
            1:1有主键
            1:n有主键,多方有外键
            m:n产生中间表:没主键,有的两个多方的主键作为外键
        
        范式2:非主属性完全依赖于主键(尽量非多个表,分细一点)
        范式3:属性不依赖于其它非主属性
        
        所有表,非特殊情况全都非Null
        外键模式默认用CASCADE
        非中间表:一般都有主键
        多对多的中间表:没有主键,表的多方外键联合约束不重复(用Unique索引来实现),非自动递增
        
        //默认:已聘人数0,两个触发器,一个限制需求人数>已聘人数,一个在已聘人数+1时触发 用户表的聘用标志为1
        //注册普通用户时:	事务:插入3(用户号自增,取用户名,取密码)		插入8(用户号自增,取姓名,取性别)	插入10(用户号自增)
        
第一步:确定一般实体和空间实体:车行道(polyline),索道(polyline),滑步道(polyline),滑道(polyline)
第二步,确定实体属性
    景点(id,x,y,z,景点名称,景点概括,景点配图)
第三步:绘制E-R模型
第四步:优化E-R模型
第五步:物理模型

E-R模型向表转换的基本规则是:
    ①若两个实体间的联系类型为M:N时的转换规则
          实体和联系都转换为表
    ②若两个实体间的联系类型为1 :N时的转换规则
          仅实体转换为表,联系转换为表的属性;
    ③若两个实体间的联系类型为1:1时的转换规则
          仅实体转换为表,联系转换为表的属性;
          
数据字典:说明表有哪些字段


//多表连接
        select a.x,b.y from a,b where a.id=b.id;
               
        一、外连接:合并所有
        1、左连接:偏向保留左边的字段
        2、右连接:偏向保留右边的字段
        
        二、内连接:只保留重复
            select * from student inner join course on student.ID=course.ID    
        
        inner join 是比较运算符,只返回符合条件的行。
        此时相当于:select * from student,course where student.ID=course.ID
        
        三、交叉连接 cross join:能查出m*n条数据(m是表1行数, n是表2行数)
        
        SQL语句:select * from student cross join course
        
        四、两表关系为一对多,多对一或多对多时的连接语句
        1、左连接:偏向保留左边的字段
        2、右连接:偏向保留右边的字段
               
        五、两表关系为一对多,多对一或多对多时的连接语句
            //一个学生可以选择多门课程,一门课程可以被多个学生选择,因此学生表student和课程表course之间是多对多的关系。
            select s.Name,C.Cname from student_course left join student on student.Sno=student_course.Sno left join course on course.Cno=student_course.Cno
        //两个左连传到最左,也就是student_course,所以执行结果:对应表student_course, on后面接条件

MongoDB
SQL术语/概念    MongoDB术语/概念      解释/说明
table            collection        数据库表/集合
row               document         数据记录行/文档
column             field           数据字段/域

主键,MongoDB自动将_id字段设置为主键 表连接,MongoDB不支持
 
命令行: mongod 开启 mongo 连接到shell


ADO(ActiveX Data Objects)
 1.数据提供程序(常用类)
    Connection:用来连接数据库,数据库连接类 
    Command:从Connection创建,用来执行SQL语句,数据库操作类 
    DataReader:只读、只进的结果集,一条一条读取数据(StreamReader、XmlReader微软的类库中这些Reader的使用方式都差不多)
    DataAdapter,一个封装了上面3个对象的对象数据集(DataSet)
 2.访问数据库的方式有两种
     方式一:1.连接数据用Connection;执行SQL语句Command;执行完毕之后将结果一条一条返回。DataReader
     方式二:使用DataAdapter+DataSet,这种方法本质还是通过Connection、Command、DataReader将数据全部取出来然后放到了DataSet中
 3.SqlCommand常用的方法
    ExecuteNonQuery() 执行对数据库的增删改,返回受影响的行数,适合:insert、delete、update(对于其他语句返回-1)
    ExecuteScalar()  执行查询,返回首行首列
    ExecuteReader() 执行查询,返回DataReader对象

Redis
redis是key-values的存储系统,因为是存在内存的,效率极高.	

Redis 教程

Java 使用 Redis
安装
开始在 Java 中使用 Redis 前, 我们需要确保已经安装了 redis 服务及 Java redis 驱动,且你的机器上能正常使用 Java。 Java的安装配置可以参考我们的 Java开发环境配置 接下来让我们安装 Java redis 驱动:
首先你需要下载驱动包,下载 jedis.jar,确保下载最新驱动包。
在你的classpath中包含该驱动包。

连接到 redis 服务
import redis.clients.jedis.Jedis;
public class RedisJava {
   public static void main(String[] args) {
      //连接本地的 Redis 服务
      Jedis jedis = new Jedis("localhost");
      System.out.println("Connection to server sucessfully");
      //查看服务是否运行
      System.out.println("Server is running: "+jedis.ping());
 }
}
编译以上 Java 程序,确保驱动包的路径是正确的。
$javac RedisJava.java
$java RedisJava
Connection to server sucessfully
Server is running: PONG




//数据库建模工具PowerDesigner
    Mandatory:是否允许为空
    
    过程:
        ER图-> 创建CDM(概念 数据 模型)
        CDN -> PDM(物理 数据 模型)
        PDM -> 数据库

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值