목록개발공부/DB기초 (9)
되자!백엔드개발자

생활코딩님의 '관계형 데이터 모델링' 수업을 바탕으로 작성된 글입니다. https://www.youtube.com/watch?v=hbZ96tnbN4M&list=PLuHgQVnccGMDF6rHsY9qMuJMd295Yk4sa&index=6 관계형 데이터 모델링의 전반적인 순서 업무파악 > 개념적데이터모델링 > 논리적데이터모델링 > 물리적데이터모델링 1. 업무파악 뭘해야하는지 파악하는 단계이다. 기획서를 받아서 정독해보거나 의뢰내용을 듣고 기획서를 작성해야하는데 많이 사용하는 효율적인 방법 UI를 일을의뢰한 사람과 같이 그려보는 것이다. 기획단계에서의 UI제작 추천 툴은 kakao oven 이다. 상대방이 말을 불신하고 계속 되묻고 직접 작업해서 보여주는 편이 좋다. 2. 개념적모델링 하고자하는 일에 어떤 개..

ER-master이란? eclipse에서 ER-Diagram을 관계형DB에 맞게 표로 전환하는 작업을 할 때 사용하는 eclipse의 plugin이다. 1. eclipse에 들어가서 [help] > [install new software...] 2. [Add...] > Name과 Location자리에 아래와같이 작성 Name: ERMaster Location: http://ermaster.sourceforge.net/update-site/ 3. ERMaster 체크 > [Next] 4. 설치완료후 [File] > [New] > [Other...] 5. [ERMaster] > [Next] 6. 적용할 프로젝트 선택 7. 사용하는 DBMS선택 8. 완료

Eclipse에서 SQL파일을 열려고 하면 search marketplace for compatiable editor(*.sql) has encountered a problem 이라면서 error창이 뜨고 기존 SQL문을 열던 tool (내 경우는 메모장)로 열어졌었다. 영어 해석해보면 알겠지만 SQL 에디터가 eclipse에 없어서 그렇다. 적절한 editor plugin을 깔아주면 되는데 방법은 다음과 같다. 1. ecpilse에서 Help > Eclipse Marketplace... 2. sql editor검색 > 첫번째꺼 Install 이 글이 작성된 시기보다 오래 지나서 다른 SQL editor이 뜨더라도 별이 가장 많은 것을 선택해서 install하면 된다. 난 이미 install 되어있어서 ..
데이터 베이스에서는 SQL을 이용하여 작업하는데 이 SQL은 다루는 개체나 용도에 따라 3가지로 그룹화할 수 있다. DDL(Data Definition Language, 데이터 정의어) 데이터베이스를 정의하는 언어로 데이터를 생성하거나 수정, 삭제 등 데이터의 전체 골격을 결정하는 역할의 언어를 말한다. create : 데이터베이스, 테이블 등을 생성 alter : 테이블을 수정 drop : 데이터베이스, 테이블을 삭제 truncate : 테이블을 초기화 DML(Data Manipulation Language, 데이터 조작어) 정의된 데이터베이스에 입력된 레코드(행과 열)를 조회하거나 수정하거나 삭제하는 등의 역할을 하는 언어를 말한다. select : 데이터 조회 insert : 데이터 삽입 updat..
https://cocoon1787.tistory.com/778 를 많이 참고했다. 데이터무결성(integrity) 데이터 베이스에 저장된 데이터의 일관성과 정확성을 지키는 것을 말한다. 정확성: 중복이나 누락이 없는 상태 일관성: 원인과 결과의 의미가 연속적으로 보장되어 변하지 않는 상태 데이터베이스에서 데이터 무결성 설계를 하지 않으면 테이블에 중복된 데이터 존재, 부모와 자식 데이터 간의 논리적 관계 깨짐, 잦은 에러와 재개발 비용 발생 등과 같은 문제가 발생할 것이다. 따라서DBMS에서 데이터 무결성이 유지되는 것은 중요한 사항이며, 주로 데이터에 적용되는 연산에 제한을 두어 데이터의 무결성을 유지한다. 1. 개체 무결성(Entity integrity) 기본 키 제약이라고 하며, 테이블은 기본키를 ..
HackerRank에서 DB관련 문제를 풀고 있는데 짝수인 것을 찾는 구문이 나왔다. 자바에 익숙해진 나는 당연히 (ID % 2) = 0인줄 알았는데 아니라더라. 찾아보니 MySQL은 되는데, Oracle은 코드가 다르길래 기억할겸 글 작성한다. MySQL에서의 짝수 (id % 2) = 0 Oracle에서의 짝수 MOD(ID,2) = 0 mod는 %를 가리키는 용어이다.

조인 예시의 일부는 https://satisfactoryplace.tistory.com/201블로그를 참고 했다. 관계대수(relational algebra) 관계형DB에서 원하는 정보와 그 정보를 검색하는지에 대한 처리절차를 명시하는 절차적인 언어이다. 피연산자가 릴레이션, 결과도 릴레이션이다. 대표적으로 순수 관계 연산자와 일반 집합 연산자가 있다. 순수관계연산자 : 관계데이터베이스에 적용할 수 있도록 특별히 개발한 관계연산자이다. ex)select, Project, Join, Division 일반집합연산자 : 수학적 집합 이론에서 사용하는 연산자로 릴레이션연산에도 그대로 적용할 수 있다. ex)합집합, 교집합, 차집합 작성방법 단항연산자 : 연산자릴레이션 이항연산자: 릴레이션1 연산자 릴레이션2 관..

키(key) 특정 튜플을 식별할 떄 사용하는 속성(attribute) 혹은 속성의 집합을 의미한다. 반드시 중복되지않고 다른 튜플과 구별할 수 있어야한다. * 튜플 : 릴레이션 각가의 행(row) 먼저 알아두기 유일성 : 하나의 키 값으로 튜플을 유일하게 식별할 수 있는 성질 최소성 : 키를 구성하는 속성들 중 가장 최소로 필요한 속성들로만 키를 구성하는 성질. 1. 슈퍼키 : 유일성 O, 최소성 X 튜플을 유일하게 식별할 수 있는 속성 혹은 속성의 집합이다. 여러개 존재할 수 있다. 그렇기에 '유일성'은 만족하지만 '최소성'은 만족하지 않는다. 위의 고객 릴레이션을 예를 들어보자. 속성 중 '고객번호' 와 '주민번호'는 절대 중복될 수 없는 속성이다.그렇기에 이 둘을 포함한 모든 속성의 집합이 슈퍼키가..

스키마(Schema) 데이터베이스의 구조와 제약조건에 관한 전반적인 명세를 기술한 것이다. 전체 table간의 연결 관계도나, table안의 데이터들의 속성, 속성들의 집합으로 이루어진 개체, 이들이 유지해야 할 제약조건들이 기술된다. 스키마는 사용자의 관점에 따라 3가지로 나눌 수 있다. 외부스키마 = 서브스키마(Sub Schema) 사용자나 응용 프로그래머가 접근하는 데이터베이스의 논리적 구조를 정의한 것이다. 쉽게 말해 각 조직별로 필요한 정보만 모아 만든 것으로, 개념스키마의 서브 스키마라고 할 수 있다. 하나의 시스템안에 여러개의 외부 스키마가 존재할 수 있고 하나의 외부 스키마를 여러개의 응용프로그램잉나 사용자가 공유할 수 있다. 개념스키마 데이터베이스의 전체적인 논리적 구조로, 조직 전체의 ..