전체 글
-
IE 표기법(Information Engineering)Database 2022. 4. 22. 11:13
물리적 DB구현 시엔 IE표기가 필요하다. 모델링 과정에서 ER 다이어그램에서 표현한 것을 IE표기로 옮기는 작업을 해야한다. 처음부터 IE표기법으로 모델링하지 않는 이유는, Peter Chen표기법이 더 직관적이고, 관계타입명과 관계대응수를 알아보기 수월하기 때문이다. 따라서 피터첸 표기법으로 잘 모델링한 후 IE표기로 바꾸는 것이 더 정교한 모델링을 할 수 있다. IE 표기법은 관계타입명이 드러나지 않는다는 단점이 있고, 관계대응수를 숫자가 아닌 세발표기를 사용해서 식별한다. 기호는 필요한 정보에 따라 조합해서 나타낸다. 위 그림처럼 참여관계와 관계대응수를 나타내는 기호 사이에 선이 그어져있는 경우, 이는 필수참여를 나타내는 기호가 아니라 구분하기 위한 구분선이다.
-
정규화란 무엇인가?Database 2022. 4. 20. 15:20
이상현상이 발생하는 데이터 테이블을 무손실분해 하는 작업 1. 이상현상(anormaly) 논리적 모델링의 사상단계에서 발생한다. 삭제이상(deletion anormaly) 튜플 삭제 시 같이 저장된 다른 정보까지 연쇄적으로 삭제되는 현상 -> 연쇄삭제(triggered deletion)문제 발생 삽입이상(deletion anormaly) 수정이상(update anormaly) 2. 함수 종속성 학생수강성적 릴레이션의 각 속성 사이에는 의존성이 존재함. 어떤 속성 A의 값을 알면 다른 속성 B의 값이 유일하게 정해지는 의존 관계를 ‘속성 B는 속성 A에 종속한다(dependent)’ 혹은 ‘속성 A는 속성 B를 결정한다(determine)’라고 함. ‘A → B’로 표기하며, A를 B의 결정자라고 함. (..
-
데이터 모델링의 개념Database 2022. 4. 18. 15:24
1. 정보 모델링 개념적 모델(ER 다이어그램) 이 단계에서는 핵심 개체(core entity)를 뽑고 개체들 간의 관계를 설정한다. 개체 당 기본키(PK)와 외래키(FK)정도만 설정한다. 일반속성은 이 단계에서는 고려하지 않는다. 2. 데이터 모델링 논리적 모델(관계 데이터 모델) 릴레이션명(속성1, 속성2, 속성3) - 비즈니스에 필요한 속성만 뽑는다. - 릴레이션 목록을 작성하는 것 (그래프로 된 다이어그램이 아니다.) 3. DB로 구현 완성된 데이터베이스가 현실세계의 개념과 일치해야 한다. 데이터베이스 생명주기 1. 요구사항 수집 및 분석 - 사용자들의 요구사항을 듣고 분석하여 데이터베이스 구축의 범위를 정하는 단계 - 너무 많은 범위를 정하지 않도록 주의한다. 2. 설계 - 1을 기초로 주요 개..
-
데이터의 무결성 제약조건Database 2022. 4. 18. 10:27
무결성 : 데이터에 결함이 없는 것. = 일관성 + 정확성 도메인 무결성 제약조건 릴레이션 내 튜플들이 각 속성의 도메인에 지정된 값 만을 가져야 한다. SQL문에서 데이터형식(type), 널(null / not null), 기본 값(default), 체크(check) 등을 사용하여 지정할 수 있다. 개체 무결성 제약조건 기본키 제약(primary key constraint). 릴레이션은 기본키를 가져야 한다. 기본키 = UNIQUE + NOT NULL * 기본키가 외래키를 포함하는 복합키 형태일 때, 그 외래키는 Null을 허용한다.(외래키 속성을 잃지 않는다.) 적용되는 예시 ) 튜플이 삽입/변경될 때, (드물게) 기본키 속성을 바꿀 때 참조 무결성 제약조건 외래키 제약(foreign key cons..
-
이클립스에 gradle project import하기(김영한 스프링 입문)Spring 2022. 4. 16. 14:17
인프런의 김영한 스프링 강좌는 intellij IDEA로 진행되는데, 이클립스를 사용할 경우 스프링부트 앱을 임포트하는 방식이 조금 달라서 블로그에 남겨둔다. 이클립스 실행 후 [File] - [import] - [Gradle] - [Existing Gradle Project] 를 클릭한다. 그 후 gradle import 마법사가 실행된다는 내용이 뜨는데 Next 눌러주면 된다. directory에 springboot.io에서 다운받은 폴더의 경로를 지정해주고 Finish를 누르면 알아서 import해준다. intellij에서는 gradle파일만 오픈했지만 여기서는 폴더 전체를 경로로 지정해줘야한다. 처음 임포트하면 시간이 좀 걸린다. 기다리면 정상적으로 프로젝트가 임포트된다.
-
JAVA Collections 클래스의 유용한 메소드들JAVA 2022. 4. 15. 01:22
알고리즘 문제를 풀다가 "아, 이 기능 있었으면 참 좋을텐데..."싶은 기능들을 검색해보면 Collections 클래스의 메소드들 안에 들어있는 경우가 많았다. 문제를 풀다가 기억해두면 좋겠다 싶어서 글을 작성한다. 새로운 기능을 써보면 계속 추가할 예정이다. 메소드 설명은 공식문서를 참고했다. Collections 클래스의 모든 메소드는 정적 메소드이다. 다형성을 이용해(문서에서는 다형성 알고리즘을 포함하고 있다고 표기되었다.) 컬렉션에서만 쓸 수 있고, 컬렉션을 다른 컬렉션으로 반환해주거나("Wrapper"기능이라고 하는데, map을 entryset으로 뽑아내 set으로 반환해주는 등의 기능들을 말하는 것 같다.) 기타 기능들을 제공한다고 한다. 참고로 "Collection"과는 다른 것이다!! Co..
-
데이터베이스 시스템Database 2022. 4. 14. 13:34
데이터 : 사실. 관찰의 결과로 나타난 정량적, 또는 정성적인 실제 값 정보 : 데이터에 의미를 부여한 것 지식 : 사물이나 현상에 대한 이해 데이터베이스란? 논리적으로 연관된 데이터를 모아 구조적으로 통합해놓은 대량의 데이터집합 데이터베이스 시스템은 데이터의 검색과 변경 작업을 주로 수행한다. 변경이란 시간에 따라 변하는 데이터 값을 데이터베이스에 반영하기 위해 수행하는 삽입, 삭제, 수정 등의 작업을 말함 (CRUD : Create, Read, Update, Delete) 데이터베이스의 개념 통합된 데이터(integrated data) 데이터를 통합하는 개념으로, 각자 사용하던 데이터의 중복을 최소화하여 중복으로 인한 데이터 불일치 현상을 제거 저장된 데이터(storted data) 문서로 보관된 데..
-
Oracle DBCA 구성Database 2022. 4. 14. 10:10
오라클을 설치할 때, 엔진만 설치했을 경우 설치 후 DBCA를 따로 구성해줘야한다. 오라클 DBCA(Database Configuration Assistant) = Oracle Instance + Database Oracle Instance = Oracle background Services + SGA(System Global Area : Oracle이 사용하는 메모리 영역) (1) cmd를 관리자권한으로 실행한다 (2) dbca구성 마법사가 뜨는데, 여기서 설치를 진행해주면 된다. (3) 생성 모드 일반구성으로 할 경우는 전역데이터베이스 이름, 플러그인 데이터베이스 이름, 관리 비밀번호를 설정 후 넘어가면 된다. 간단한 비밀번호를 입력할 경우 경고가 뜨는데, 필수로 지켜야하는 사항이 아니고 설치에 영향..