Data Base
-
DB 테이블 관계의 종류Data Base/관계형 데이터 모델링 2022. 5. 18. 16:38
1:1 관계(일대일 관계) 1:1 관계란 특정 엔티티 쪽에서 상대 엔티티와 반드시 단 하나의 관계를 가지는 것을 의미한다. 1:N 관계(일대다 관계) 1:N 관계는 한 쪽 엔티티가 관계를 맺은 엔티티 쪽의 여러 객체를 가질 수 있는 것 을 의미한다. 현실세계에는 1:N관계가 많이 있는데, 실제 DB를 설계할 때 자주 쓰이느 방식이다. 1:N 관계는 N:M관계처럼 새로운 테이블을 만들지 않는다. 특정 테이블이 관계를 대상 테이블을 소유한다고(has a 관계) 표현한다. 또한 1:N의 관계를 계층 관계로 이해 할 수도 있다. departments_manager - employees 여러 개가 되는 N입장에서는 (1)유일한 상위 테이블 중 어떤 테이블에 속해 있는지 표현해야 하므로 부모 테이블의 PK를 자식 ..
-
오라클 데이터베이스 SQL 36강-Outer Join을 이용한 게시글 목록 쿼리Data Base/SQL 2022. 2. 6. 15:45
내부 조인 연습 조인된 테이블 쿼리하기 *JOIN을 다룰 때 문제가 되는 몇가지* JOIN이라는 얘기는 컬럼을 합친다는 것이고 컬럼을 합칠 때 위 그림에는 컬럼의 이름이 충돌날 일이 없다. 근데 컬럼을 합칠 때 식별이 애매한 경우가 있을 수 있다. 게시글의 번호, 제목 작성자이름을 조회하시오. SELECT SEQ,TITLE,NAME FROM MEMBER INNER JOIN NOTICE ON MEMBER."ID" = NOTICE.WRITER_ID 필드 이름의 충돌문제 테이블의 식별자로 ID를 쓰는 경우가 많다. 게시글의 컬럼명을 식별하기 위해 테이블명을 사용 SELECT ID, NAME, NAME FROM MEMBER INNER JOIN NO MEMBER.ID = NOTICE.WRITER_ID => 어느 ..
-
오라클 데이터베이스 SQL 34강-INNER조인(JOIN)Data Base/SQL 2022. 2. 6. 12:18
DBMS 개요 데이터의 무결성 과거에는 데이터를 base화 하지 않고 각각 끊어서 개별적으로 사용했다. 그래서 같은 회사인데도 각부서 마다 데이터가 일치되게 동기화되는 속도가 느렸다. 또 한쪽 부서에서 다루는 업무에서 다른 부서의 데이터가 필요할경우 그 데이터를 단편적으로 복사하여 가져가서 사용하였다. 그러다 보니 전체적인 시스템에서는 데이터가 복제되고 다시말해 중복되고 서로다른 부서에서 다루는 데이터가 똑같은 칼럼을 가지는 경우도 존재했다. 그래서 전체적인 시스템에서 중복이 발생하고 결합이 발생하기 쉬웠다. 그래서 데이터를 base화 하는 방식으로 처리해서 문제를 해결하려고 했다. 데이터를 모아서 중복을 제거하는 방식으로 결함을 없애는 즉 무결성이 Database에서 중요한 부분이 었다. 중복된는 것을..
-
오라클 데이터베이스 SQL 33강- 부조회(서브쿼리)Data Base/SQL 2022. 2. 5. 15:14
select절은 순서대로 실행 되어야 한다. 순서를 바꾸면 오류가 발생한다. 순서를 바꿔야 할때는 옵션이 있어야한다. 서브 쿼리를 사용하는 경우 구절의 순서를 바꿔야 하는 경우 SELECT*FROM MEMBER WHERE ROWNUM BETWEEN 1 AND 10 ->최신 등록순으로 정렬한 결과에서 상위 열명을 원하는 경우라면? SELECT*FROM MEMBER ORDER BY REGDATE DESC WHERE ROWNUM BETWEEN 1 AND 10 ->순서 때문에 오류가 발생 정렬을 하고나서 rownum 을 쓰고 싶은데 이렇게 쓰면 sql문 순서에 맞지 않아서 EEROR가 발생한다. 이럴때 사용할 수 있는 옵션이 서브쿼리이다. 정렬된 결과물을 우선 가져오고 그걸 바탕으로 다시 정렬할 수 있다. SE..
-
엔티티간의 연결Data Base/관계형 데이터 모델링 2021. 12. 30. 08:26
-Relationship은 PK와 FK가 연결되는 것을 통해서 실제로 구현된다. Cardinality Optionality 두개의 표는 추후에 join으로 연결 될 것이다. 이때 Cardinality를 따져 보려면, ->담임에게 반은 몇개인가 ->반에게 담임은 몇개인가를 따져봐야 한다. 각 선생님은 한 반만 담임한다. / 각반의 담임은 한명이다. 1:1관계 각 저자는 여러개의 글을 작성 할수 있다. / 각 댓글은 하나의 저자만 존재한다. 1:n 관계 저자는 여러개의 글을 작성 할수 있다. / 각 글은 여러저자가 존재한다. N:M 관계 - 다대다의 관계는 현실의 database 세계에서는 표현 할 수 없기 때문에, 이것은 그대로 두지 않고, 중간에 연결 테이블이라는 특별한 테이블을 만들어서, 최종적으로는 ..
-
개념적 데이터 모델링Data Base/관계형 데이터 모델링 2021. 12. 30. 03:18
ERD의 관점 3가지 정보 그룹 : 정보들을 그룹핑 관계 : 정보그룹 사이의 관계 관계형 데이터베이스의 특징 -RDB는 내포관계를 허용하지 않습니다. -거대 단일 테이블로 표현을 하면 중복이 발생합니다. "글은 저자 누가 작성했는가 저자에 대한 이름과 소개까지 표함되었으면 좋겠다." ->RDB에서는 join이라는 메커니즘을 통해서 언제든지 순간순간 합성해 낼수 있다. 그렇기 때문에 포함관계가 아니가 좀 더 수평적인 관계로 개념들을 뽑아 내는 것이 더 적절하다.