Study
-
식별자 비식별자Study/데이터베이스 | DB 2021. 5. 27. 22:00
식별자관계 자식엔터티의 주식별자로 부모의 주식별자가 상속이 되는 경우 Null값이 오면 안되므로 반 드시 부모엔터티가 생성되어야 자기 자신의 엔터티가 생성되는 경우 비식별자관계 부모엔터티로부터 속성을 받았지만 자식엔터티의 주식별자로 사용하지 않고 일반적인 속성으로만 사용하 는 경우 자식엔터티에서 받은 속성이 반드시 필수가 아니어도 무방하기 때문에 부모 없는 자식이 생성될 수 있는 경우 엔터티별로 데이터의 생명주기(Life Cycle)를 다르게 관리할 경우 테이블 설계시 인덱스와 관련된 설명 식별자 관계만을 사용하였을 경우 : 기본키 속성의 숫자가 증가하여 SQL구문이 복잡해진다. 비식별자 관계만을 사용하였을 경우 : 테이블 간의 과다한 조인을 유발하여 조인에 의한 성능 저하가 발생한다.
-
정규화란 ? / 정규화 절차Study/데이터베이스 | DB 2021. 5. 25. 23:11
정규화 데이터의 일관성, 최소한의 데이터 중복, 최대한의 데이터 유연성을 위한 방법 데이터를 분해하는 과정 데이터중복을 제거하고, 데이터 모델의 독립성을 확보하기 위한 방법 실직적으로 제 3정규화까지만 수행 정규화를 수행하지 않아, 불필요한 값이 추가되거나, 입력할수 없는 현상을 이상현상(Anomarly)라고 함 정규화 절차 정규화 절차 설명 제1정규화 -속성(Attribute)의 원자성을 확보 -기본키(Primary)를 설정 제2정규화 기본키가 2개 이상의 속성으로 이루어진 경우, 부분 함수 종속성을 제거(분해) 제3정규화 -기본키를 제외한 칼럼 간에 종속성을 제거 -이행 함수 종속성 제거 BCNF 기본키를 제외하고 후보키가 있는 경우, 후보키가 기본키를 종속시키면 분해 제4정규화 여러 칼럼들이 하나릐..
-
속성(Attribute)의 종류Study/데이터베이스 | DB 2021. 5. 22. 01:25
1. 분해 여부에 따른 속성의 종류 종류 설명 단일 속성 하나의 의미로 구성된 것으로 회원ID, 이름 복합 속성 - 여러 개의 으미가 있는 것으로 대표적으로 주소 - 주소는 시, 군, 동 등으로 분해 가능 다중값 속성 - 속성에 여러 개의 값을 가질 수 있는 것으로 예를 들어 상품LIST - 다중값 속성은 엔터티로 분해됨. 2. 특성 따른 속성의 종류 종류 설명 기본 속성 - 비즈니스 프로세스에서 도출되는 본래의 속성. - 회원ID, 이름, 계좌번호, 주문 일자 등 설계 속성 - 데이터 모델링 과정에서 발생되는 속성 - 유일한 값을 부여 - 상품코드, 지점 코드 등 파생 속성 - 다른 속성에 의해서 만들어지는 속성 - 합계, 평균 등
-
키의 종류Study/데이터베이스 | DB 2021. 5. 21. 00:19
데이터베이스 키 설명 기본키 (Primary Key) 후보키 중에서 엔터티를 대표할 수 있는 키 후보키(Candidate Key) 후보키는 유일성과 최소성을 만족하는 키 슈퍼키(Super Key) 슈퍼키는 유일성은 만족하나, 최소성을 만족하지 않는 키 대체키(Alternate Key) 대체키는 여러 개의 후보키 중에서 기본키를 선정하고 남은 키 외래키(Froeign Key) -하나 혹은 다수의 다른 테이블의 기본 키 필드를 가리키는 것으로 참조무결성(Referential Integrity)을 확인하기 위해 사용되는 키 -즉, 허용된 데이터 값만 데이터베이스 저장하기 위해 사용. 키(Key) 중 가장 근본이 되는 키는 기본키(PK)이다. 후보키와 슈퍼키의 차이점은 슈퍼키는 최소성을 만족하지 않는다는 점이다.
-
count(*) 과 count(1)Study/데이터베이스 | DB 2021. 4. 28. 23:14
DB에서 count(*)과 count(1)를 혼용하면서 둘의 차이점이 있는지 궁금한 분들이 있을 것이다. 결론은 '차이가 없다'이다. -간혹 몇몇 DBMS마다 다르다는 말도 있지만, 결론적으로는 두 함수는 같은 결괏값을 도출해냅니다. - 단 count(칼럼명)일 경우에는 해당 칼럼에 NULL을 제외한 칼럼의 수를 세게 됩니다. CREATE TABLE sql_test_a ( ID VARCHAR2(4000 BYTE), FIRST_NAME VARCHAR2(200 BYTE), LAST_NAME VARCHAR2(200 BYTE) ); CREATE TABLE sql_test_b ( ID VARCHAR2(4000 BYTE) ); INSERT INTO sql_test_a (ID, FIRST_NAME, LAST_NAME..
-
class(클래스) 변수, instance(인스턴스) 변수, local(지역) 변수의 차이Study/Java 2020. 9. 11. 09:36
지역 변수 : 멤버 변수를 제외한 나머지 변수 이제 지역 변수가 아닌 클래스 변수와 인스턴스 변수를 생각해보자. 클래스 변수와 인스턴스 변수의 차이를 이해하기 위해 카드 게임에 사용되는 카드를 클래스로 정의해본다. 카드 클래스를 작성하기 위해서 속성으로 카드의 무늬, 숫자, 폭, 높이 정도를 생각해 볼 수 있다. class로 표현해보자. class Card{ String kind; //무늬 Int number; //숫자 static int width = 100; // 폭 static int height = 250; //높이 } 위와 같이 무늬와 숫자는 각 카드마다 가지고 있는 개별 속성이므로 static을 붙이지 않아, Instance 변수가 된다. 폭과 높이는 모든 카드가 가지고 있는 공통적인 값이고,..
-
Java equals()와 ==의 차이Study/Java 2020. 9. 10. 10:52
java 기술면접에서 가장 많이 물어보는 질문이다. ==와 equals()의 차이가 무엇인지를 묻는 것이다. 아래 예시를 보면서 이야기해보겠다. package nh1; import java.util.Scanner; public class Str01 { public static void main(String[] args) { // TODO Auto-generated method stub int a =10, b= 10; System.out.println(a == b); String s1="NH"; String s2="NH"; System.out.println(s1 ==s2); System.out.println(s1.equals(s2)); Scanner sc = new Scanner(System.in); Sy..