码迷,mamicode.com
首页 > 数据库 > 详细

Java41: 数据库五(Oracle)

时间:2016-08-19 22:32:40      阅读:235      评论:0      收藏:0      [点我收藏+]

标签:oracle   数据库   管理   

数据库设计:

    三范式(OLD)

        列的值唯一,不能有重复的列值

        属性完全依赖于主键

            必须满足第一范式

            必须有主键

            其他列必须完全依赖于主键

        属性不依赖于其他非主属性(第二的加强)

            必须满足第二范式

            去除传递依赖

            (在特定的场合,对效率的考虑 如:专门做冗余的时候,不要遵守第三)



Oracle 序列

   可以通过序列来生成主键  一般的一个序列为一个表服务,也可以多个

    创建序列

        create sequence 序列名 start with 数值 incremet by 数值

                    |    不写 都是 1        |

    删除序列

        drop sequence 序列名


    通过伪列 nextval  获取下一个值

 

select seq_stu.nextval from dual;

   

    

    获取当前值 currval

        

select seq_stu.currval from dual;



create sequence seq_stu start with 100 incremet by5;


select seq_stu.nextval from dual;


insert into stu (id) values(seq_stu.nextval);




完整:

create table stu(
  s_id number(10),
  s_name varchar2(50),
  constraint s_pk primary key(s_id)
)
create sequence Seq_stu start with 100 increment by 5;

select * from stu;
package jdbc;

public class Stu {
	private int id;
	private String name;
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	
}
package jdbc;

import java.sql.Connection;
import java.sql.PreparedStatement;

public class StuDAO {
	private static final String SQL = "insert into stu(s_id,s_name) values(seq_stu.nextval,?)";
	public void save(Stu stu) throws Exception{
		Connection con = null;
		try{
			con = DBUtils.getConnection();
			PreparedStatement stmt = con.prepareStatement(SQL);
			stmt.setString(1,stu.getName());
			stmt.executeUpdate();		
		}catch(Exception e){
			throw e;
		}finally{
			if(con != null){
				con.close();
			}
		}
		
	}
}
package jdbc;

import static org.junit.Assert.*;

import org.junit.Test;

public class TestStuDAO {

	@Test
	public void test() throws Exception {
		StuDAO s = new StuDAO();
		Stu ss = new Stu();
		ss.setName("lmdtx");
		s.save(ss);
	}

}


       ER图(开源社区有真相)

        找你喜欢的或者公司习惯的(工具) 实在不行a4纸

        研究业务需求

        设计绘制E-R关系图

    设计文档

        该写啥就写啥






本文出自 “浪漫的偷笑” 博客,请务必保留此出处http://lmdtx.blog.51cto.com/6942028/1840339

Java41: 数据库五(Oracle)

标签:oracle   数据库   管理   

原文地址:http://lmdtx.blog.51cto.com/6942028/1840339

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!