프로그래밍/Database 20

[오라클] Join문과 Aggregation

이전에는 select에 대해 자세히 알아보았다. 그 때에 쓴 테이블들을 똑같이 써서 join문을 공부해보자. Join 조인이란 둘 이상의 테이블을 합쳐서 하나의 큰 테이블로 만드는 방법 필요성 : 관계형 모델에서는 데이터의 일관성이나 효율을 위하여 데이터의 중복을 최소화한다. fk를 이용하여 참조한다. 여기서 테이블부터 만드는 과정이 초반에 있으므로 파일을 다운받고 참조해서 테이블을 셋팅하자. http://pjh3749.tistory.com/156 그럼 시작하기 전에 emp테이블과 dept테이블의 칼럼부터 확인해보자. emp테이블 dept테이블 그리고 어떤 join들이 있는지 살펴보자. Cross Join (Cartesian Product) : 모든 가능한 쌍이 나타남 Inner Join : Join 조..

[ERD] eXERD 설치와 회원가입 모델링 하는 법

eXERD 는 경력자 뿐만 아니라 초보자도 데이터베이스 설계를 직관적이고, 쉽고, 빠르게 하도록 개발된 이클립스 기반 지능형 모델링 도구이다. 여러 DBMS를 지원한다. Oracle, MS SQL, IBM DB2, PostgreSQL, MySQL을 대상으로 포워드/리버스 엔지니어링을 지원한다. ui도 깔끔하고 직관적이고 매우 좋은 툴이다. 그리고 공부용으로는 무료이다. 당연히 기업유저는 돈을 내야한다. 홈페이지에 들어가서 개인 사용자 무료다운로드를 클릭하여 다운로드를 받자. http://ko.exerd.com/ 다운로드를 클릭하여 개인 사용자를 받아서 설치를 진행한다. 여기서 팁은 저기 설치경로를 C던 D던 편한곳에 exerd폴더를 하나 만들어서 설치를 한다. 그리고 나중에 밑에 처럼 workspace를..

데이터베이스 모델링과 회원가입 설계

■ 모델링의 정의 모형, 축소형의 의미 사람이 살아가면서 나타날 수 있는 다양한 현상에 대해서 일정한 표기법에 의해 포현해 놓은 모형 사람,사물,개념 등 -> 모델을 만들어가는 일 추상화(모형과,가설적) : 현실시계를 일정한 형식에 맞추어 표현 단순화 : 복잡한 현실세계 -> 약속된 규약에 의해 제한된 표기법이나 언어로 표현 명확화 : 누구나 이해하기 쉽게 대상에 대한 애매모호함을 제거하고 정확하게 현상 기술 ■ 데이터 모델링이란? 정보시스템을 구축하기 위한 데이터 관점의 업무 분석 기법 데이터베이스를 구축하기 위한 분석/설계의 과정 개념 데이터 모델링 : 추상화 수준이 높고 업무중심적이고 포괄적인 수준의 모델링 진행 논리적 데이터 모델링 : 시스템으로 구축하고자 하는 업무에 대해 Key, 속성 관계 등..

Oracle 데이터베이스 Select문 완전정복 -(3)

지난 포스팅에 이어 select를 마저 부셔보자. ## ORDER BY SELECT ename, comm FROM emp ORDER BY comm; comm을 오름차순으로 정렬한다. 여기서 null값은 후방에 나온다. SELECT ename, comm FROM emp ORDER BY comm DESC; comm을 내림차순으로 정렬한다. 여기서는 null이 먼저 튀어나온다. # 급여가 제일 많은 사원부터 출력해보자. SELECT ename, sal FROM emp ORDER BY sal DESC; 자 그런데 저기 노란부분이 좀 거슬린다. 급여가 같아서 모여있는건 맞는데 알파벳 순이 안 맞네. 이것도 이름순으로 정렬하고 싶다. SELECT ename, sal FROM emp ORDER BY sal DESC ..

Oracle 데이터베이스 Select문 완전정복 -(2)

저번 시간에 이어 나머지 select문을 다 부셔보자. Oracle 데이터베이스 Select문 완전정복 - (1) http://pjh3749.tistory.com/156 중요한 내용들만 썼으니 모두 숙지해야 하는 부분이다. SELECT job FROM emp;이거는 결과를 보여주지 않아도 알 것이다. 하지만 여러 job들이 중복해서 나타난다. 중복을 제거하고싶다. select distinct job from emp; 각 직업들이 하나씩만 표시되게 나온다.select distinct deptno,job from emp; select distinct job,deptno from emp; 이렇게 하면 어떻게 될까? 둘이 깉은 결과가 나온다. distinct가 앞의 것에 걸리는게 아니라 전체에 걸린다. 즉, 2..

Oracle 데이터베이스 Select문 완전정복 -(1)

오라클에서 데이터베이스에서 select문을 다 부셔버리자. 먼저 쿼리문을 등록해야한다. 다운받아서 sql developer에 로그인하여 복사 붙여넣기하자. 로그인방법을 모른다면 검색하면 바로 나온다. 이것을 쿼리문 쓰는 곳에다가 붙여넣고 저 두 번째 버튼을 누르면 왼쪽 상단처럼 테이블이 만들어진다. 데이터는 임의로 삽입하였다. 왼쪽상단에 테이블이 만들어진것이 보일 것이다. 이제 select문을 활용하여 보자. EMP 테이블의 내용이다. select ename from emp; emp테이블에서 ename을 뽑아내는 것이다. 이건 쉽다. 하지만 이렇다면? Select Ename From Emp; // 대소문자가 엉켜있다. SELECT ename FROM emp; // 엔터가 쳐져있다. 결과는 같다. 결론은 ..

관계형 데이터베이스 와 Relational Algebra

Database (DB) 한 조직의 여러 응용 시스템들이 공용(Shared)하기 위해 통합(Integrated), 저장(Stored)한 운영 데이터(Operational data)의 집합 특징 : 컴퓨터 시스템과 무관, 컴퓨터 프로그램이라고하면 틀린말이 된다.데이터의 구조적 집합(종이 ,장부 등도 DB라고 할 수 있다) Database Management System (DBMS)DB관리를 위한 컴퓨터 시스템 - 전사적인 정보 관리- 데이터에 접근하는 프로그램 집합 목적 : 데이터베이스를 공용할 수 있도록 관리하는 시스템 Data Model데이터를 어떤 형태로 표현할지를 결정 Relational Model 관계형 모델말그대로 관계라고 생각하지 말고 수학적 개념으로 생각한다. (=테이블)- 가장 널리 이용됨..

PreparedStatement의 사용법

PreparedStatement는 Statement와 동일한 기능을 하지만 차이점이 있다면 전자는 미리 SQL쿼리의 틀을 짜 놓고 나중에 값일 지정한다는 것이다. 12345678910111213141516171819202122232425262728293031323334Colored by Color Scriptercs line 21 - 실행할 쿼리를 미리 입력하는데 값이 들어가는 부분은 ?로 대치한 쿼리를 사용한다. line 23 - setString은 첫번째 인자로 물음표의 위치가 들어가고 두번째로는 값이 들어간다. PreparedStatement를 생성할 때에 실행할 쿼리를 지정하기 때문에 이들 두 메서드는 쿼리를 인자로 전달받지 않는다. ResultSet executeQuery() - SELECT 쿼..

MySQL LONG VARCHAR 읽기

SQL의 LONGVARCHAR 타입은 대량의 텍스트 데이터를 저장할 때 사용되며, ResultSet에서 LONGVARCHAR타입의 데이터를 읽어오기 위해서는 getCharacterStream() 메서드를 사용해야 한다. 1234567891011121314151617181920212223Colored by Color Scriptercs line 5 - HISTORY 는 테이블안의 long varchar 타입의 이름이다. line 8 - 스트림에서 읽어올 데이터를 저장하라 버퍼를 설정한다. line 12 - 스트렘에서 데이터를 읽어와 버퍼에 저장한다. reader로 읽어서 Stringbuffer에 저장한다. line 16 - 버퍼에 저장된 내용을 String으로 변환한다. 참고) 오라클에서는 long var..

데이터베이스 기초

거의 모든 웹 어플리케이션이 회원정보, 게시글 내용, 기타 데이터등을 저장하기 위해서 데이터베이스를 사용하고 있다. 반드시 익혀야 하는 기술중 하나이며 특히 웹쪽은 거의 모든 페이지가 데이터베이스와 통신을 하므로 필수 불가결이다.java에서는 jdbc api를 이용해서 데이터베이스 프로그래밍을 하게 된다. 데이터베이스의 발전 - 1960년대 : 플로우차트 중심의 개발 방법을 사용하였으며 파일 구조를 통해 데이터를 저장하고 관리하였다. - 1970년대 : 데이터베이스 관리 기법이 처음 태동되던 시기였으며 계층형(Hierarchical) 데이터베이스, 망형(Network) 데이터베이스 같은 제품들이 상용화 되었다. - 1980년대 : 현재 대부분의 기업에서 사용되고 있는 관계형 데이터베이스가 상용화되었으며 ..

반응형