엔터티

데이터베이스에서 식별이 가능한 객체라는 의미를 가지고 있다.

 

데이터베이스 전문가들이 정의한 엔터티

Peter Chen(1976) - 식별할 수 있는 사물

C.J Date(1986) - 데이터베이스 내에서 식별 가능한 객체

James Martin(1989)  - 정보를 저장할 수 있는 어떤 것

Thomas Bruce(1992) - 정보를 저장할 수 있는 사람, 장소, 물건, 사건 그리고 개념 등

 

엔터티는 업무에서 쓰이는 데이터를 용도별로 분류한 그룹이라고 볼 수 있다.

 

각각의 엔터티는 자신을 더 상세하게 나타내기 위해 속성(Attribute)을 갖게 되는데, 속성의 개수는 엔터티마다 상이하다. 

엔터티 : Table
인스턴스 : Row
속성 : Column

 

 

엔터티의 특징

  • 업무에서 쓰이는 정보여야 함
  • 유니크함을 보장할 수 있는 식별자가 있어야 함
  • 2개 이상의 인스턴스를 가지고 있어야 함
  • 반드시 속성을 가지고 있어야 함
  • 다른 엔터티와 1개 이상의 관계를 가지고 있어야 함

엔터티의 분류

  • 유형 vs. 무형
    유형 엔터티 : 물리적인 형태 존재, 안정적, 지속적.  ex) 상품, 회원 등
    개념 엔터티 : 물리적인 형태 없음, 개념적.  ex) 부서, 학과 등
    사건 엔터티 : 행위를 함으로써 발생, 빈번함, 통계 자료로 이용 가능.  ex) 주문, 이벤트 응모 등

  • 발생 시점
    기본 엔터티
    업무에 원래 존재하는 정보
    독립적으로 생성되며, 자식 엔터티를 가질 수 있음. ex) 상품, 회원, 사원 부서 등

    중심 엔터티
    기본 엔터티로부터 파생되고, 행위 엔터티 생성
    업무에 있어서 중심적인 역할을 하며 데이터의 양이 많이 발생. ex) 주문, 매출, 계약 등

    행위 엔터티
    2개 이상의 엔터티로부터 파생
    데이터가 자주 변경되거나 증가할 수 있음. ex) 주문 내역, 이벤트 응모 이력 등

 

 

 

 

 

참고자료 : 유선배 SQL 개발자

데이터베이스의 모델링 

현실 세계를 단순화하여 표현하는 기법

모델 :  현실 세계에서 일어날 수 있는 다양한 현상에 대해서 일정한 표기법에 의해 표현해 놓은 모형

모델링 : 현실 세계에서 필요한 데이터를 저장하는 데이터베이스를 구축하기 위한 분석/설계의 과정

 

모델링이 갖춰야 할 조건

  • 현실 세계를 반영해야 한다.
  • 단순화하여 표현해야 한다.
  • 관리하고자 하는 데이터를 모델로 설계한다.

 

모델링의 특징

  • 추상화(Abstraction)
    현실 세계를 일정한 형식으로 표현하는 것. 아이디어나 개념을 간략하게 표현하는 과정
  • 단순화(Simplification)
    복잡한 현실 세계를 정해진 표기법으로 단순하고 쉽게 표현한다는 의미
  • 명확화(Clarity)
    불분명함을 제거하고 명확하게 해석할 수 있도록 기술한다는 의미.

 

데이터베이스의 모델링은 현실 세계를 추상화, 단순화, 명확화하기 위해 일정한 표기법에 의해 표현하는 기법을 말한다.

 

 

모델링의 세 가지 관점

  • 데이터 관점(What, Data)
    데이터 위주의 모델링으로 어떤 데이터들이 업무와 얽혀있는지, 데이터 간에 어떤 관계에 있는지에 대해 모델링하는 방법
  • 프로세스 관점(How, Process)
    프로세스 위주의 모델링으로 업무가 실제로 처리하고 있는 일은 무엇인지 혹은 앞으로 처리해야 하는 일이 무엇인지를 모델링하는 방법
  • 데이터와 프로세스의 상관 관점(Data vs. Process, Interaction)
    데이터와 프로세스의 관계를 위주로한 모델링으로 프로세스의 흐름에 따라 데이터가 어떤 영향을 받는지를 모델링하는 방법

 

모델링의 세 가지 단계

  • 개념적 데이터 모델링(Conceptual Data Modeling)
    회사 전체 차원의 데이터 모델링 수행 시 행해지며 추상화 레벨이 가장 높은 모델링.
    이 단계에서는 업무 중심적이고 포괄적인 수준의 모델링이 진행된다.
  • 논리적 데이터 모델링(Logical Data Modeling)
    재사용성이 가장 높은 모델링.
    데이터베이스 모델에 대한  Key, 속성, 관계 등을 모두 표현하는 단계.
  • 물리적 데이터 모델링(Physical Data Modeling)
    실제 데이터베이스로 구현할 수 있도록 성능이나 가용성 등의 물리적인 성격을 고려하여 모델을 표현하는 단계.

 

데이터의 독립성


ANSI-SPARC 아키텍처는 데이터베이스 관리 시스템(DBMS)의 추상적인 설계 표준을 말한다.
ANSI-SPARC 아키텍처에서는 스키마를 3단계 구조로 나누는데, 데이터베이스에 대한 사용자들의 관점과 데이터베이스가 실제로 표현되는 물리적인 방식을 분리하기 위함이다.
데이터베이스가 존재하는 목정 중 하나는 사용자에게 데이터를 보여줄 수 있는 뷰를 제공하는 것인데, 사용자 입장에서는 데이터베이스의 내부 구조에 대해서는 알 필요가 없기에 데이터가 어떻게 저장되고 유지되는지에 대해서는 분리하게 된다. 
이렇게 ANSI-SPARC 아키텍처는 데이터의 독립성을 보장한다.

 

 

3단계 스키마 구조

  • 외부 스키마(External Schema)
    사용자 관점 : Multiple User's View 단계로 각 사용자가 보는 데이터베이스의 스키마를 정의한다.
  • 개념 스키마(Conceptual Schema)
    통합된 관점 : Community View of DB 단계로 모든 사용자가 보는 데이터베이스의 스키마를 통합하여 전체 데이터베이스를 나타내는 것. 데이터베이스에 저장되는 데이터들을 표현하고 데이터들 간의 관계를 나타낸다.
  • 내부 스키마(Internal Schema)
    물리적인 관점 : Physical Representation 단계로 물리적인 저장 구조를 나타낸다. 실질적인 데이터의 저장 구조나 컬럼 정의, 인덱스 등이 포함된다.

 

3단계 스키마 구조가 보장하는 독립성

  • 논리적 독립성
    개념 스키마가 변경되어도 외부 스키마는 영향을 받지 않는다.
  • 물리적 독립성
    내부 스키마가 변경되어도 외부/개념 스키마는 영향을 받지 않는다.

ERD(Entity Relationship Diagram)
시스템에 어떤 엔터티들이 존재하며 그들 간에 어떤 관계가 있는지를 나타내는 다이어그램

 

 

 

 

참고자료 : 유선배 SQL 개발자


** 오라클 설치 시 확인 할 점 **

1. 다운받은 소프트웨어 경로에 한글이 포함되어 있는지 확인한다.

2. 소프트웨어 경로를 드라이브 바로 하위에 위치하지말고 하위 폴더를 하나 생성해서 위치시킨다. ex) D:\oracle_db

3. setup파일은 반드시 관리자 권한으로 실행시킨다. 

관리자 권한으로 실행시키지 않을 경우 54%에서 설치가 진행되지 않는 마법을 경험할 수 있다.

 

+ 삭제 할 때는 deinstall 파일을 관리자 권한으로 실행시켜서 삭제시킨다. (제어판에서 삭제하는 경우 완전히 삭제가 안된다고 함)


 

- OS에 맞는 설치 파일 다운로드

 

https://www.oracle.com/kr/downloads/

 

Oracle 소프트웨어 다운로드

클라우드 무료 체험과 소프트웨어 다운로드에서 Oracle의 애플리케이션, 미들웨어, 데이터베이스, Java, 개발자 도구를 확인해 보세요.

www.oracle.com

 

- 오라클 소프트웨어를 다운로드 받으려면 계정이 필요하다.

회사명이랑 직책을 작성하라고 하는데 학생의 경우는 학생 / 없음 / 개인번호로 입력하면 된다.

 

가입 후 이메일 확인
인증 후 로그인 가능

 

- 운영체제에 맞는 버전으로 다운 후 압축파일을 해제한 후  setup.exe 파일 실행.

로그인을 하지 않은 경우에는 로그인창 뜨는데 그 창에서 로그인을 하면 바로 다운로드가 진행된다.

 

압축 해제 후 setup 파일 실행

 

오라클 설치

 

- 오라클 설치 진행

 

         오라클 설치 경로는 압축을 푼 경로로 자동으로 지정됨! 
         설치 완료되면 PC의 환경변수에 지정한 경로로 세팅되기 때문에, 설치 후에 파일 이동은 X

설치 경로 확인 및 오라클 접속 시 사용할 비밀번호 입력

 

 

- 설치 오류 

오라클 설치 진행 중 54%에서 멈춰서 진행이 되지 않는 문제가 있었다.

처음에는 설치하는데 시간이 조금 걸리겠지하고 기다렸는데 1시간이 지나도 멈춰서 진행이 되지 않아서 문제가 있구나 싶어서 검색을 해봤더니 관리자 권한으로 실행하지 않으면 멈춘다는 정보를 확인!

 

설치 진행 중이던 걸 취소하고 다시 재설치하려니 

' database 소프트웨어 홈이 중앙 인벤토리에 이미 등록되어 있습니다' 라는 오류가 뜨면서 단일 데이터베이스 생성 및 구성 옵션으로 설치가 진행이 안됐다.

 

설치 도중에 오류가 발생해서 중단하고 재설치를 하는 경우에는 프로그램을 완전히 삭제한 후 진행해야 한다.

다운받은 오라클 소프트웨어 압축을 푼 경로로 이동을 해서 deinstall 폴더에서 deinstall 파일을 관리자 권한으로 실행해 주면 된다. 반드시 관리자 권한으로 실행할 것!

 

 

deinstall 파일을 실행하면 위와 같은 화면이 나오는데 선택사항은 공란으로 놓고 엔터로 넘어가다가 ASM | FS 데이터베이스에서 사용하는 저장 영역 유형을 ASM으로 입력 후 마지막에 계속하겠는지 묻는 선택지에서 y를 입력하면 삭제가 진행된다.

 

오라클 삭제 방법을 검색해보면서 알아본 정보로 삭제를 여러 번 시도했는데 데이터베이스 저장 영역 유형을 FS로 했을 경우에는 삭제 진행이 안됐었다. 리스너나 데이터베이스 고유 이름 등은 작성을 해도 안해도 동일하게 선택되었었다. 

마지막 삭제 여부 선택지를 입력하기 전에  CHECK OPERATION SUMMARY에 디렉터리 위치나 이름 등을 확인할 수 있는데 그 때 삭제하려는 정보가 맞는지 확인하고 삭제를 진행하면 되는 듯 보인다.

 

삭제를 진행한 후에 다시 setup파일을 '관리자 권한'으로 실행한 후에 설치를 진행하니 정상적으로 설치가 완료되었다.

 

 

 

 

 

'DB' 카테고리의 다른 글

엔터티(Entity)  (0) 2024.04.03
데이터 모델링  (0) 2024.04.03
인텔리제이에 mysql 연결하는 방법  (0) 2023.08.10
인텔리제이에 DB 연결  (0) 2023.08.10
DB관리툴 - DBeaver 설치 및 mysql 연결  (0) 2023.08.09

`System.arraycopy()` 메서드는 배열에서 다른 배열로 요소를 복사하는 데 사용됩니다. 이 메서드는 다음과 같은 형식을 가집니다:

System.arraycopy(Object src, int srcPos, Object dest, int destPos, int length)



- `src`: 복사할 원본 배열입니다.
- `srcPos`: 원본 배열에서 복사를 시작할 인덱스입니다.
- `dest`: 복사된 요소를 저장할 대상 배열입니다.
- `destPos`: 대상 배열에서 복사를 시작할 인덱스입니다.
- `length`: 복사할 요소의 수입니다.

따라서 `System.arraycopy(num_list, 0, result, 0, num_list.length);`는 `num_list` 배열의 모든 요소를 `result` 배열로 복사하는 것입니다. 이 코드는 `num_list` 배열의 모든 요소를 `result` 배열의 첫 번째 요소부터 시작하여 복사합니다. 따라서 `result` 배열의 처음 `num_list.length` 개의 요소가 `num_list` 배열의 요소와 동일한 값을 가지게 됩니다.

'JAVA' 카테고리의 다른 글

배열에서 홀수 짝수 숫자를 판별해서 이어붙이기  (0) 2024.03.21
메서드 정의  (0) 2024.03.06

+ Recent posts