데이터베이스 논리명과 물리명
논리명과 물리명에 대한 내용이 계속 나와서, 정확히 무엇인지 알고 넘어가야겠다는 생각이 들었다.
물리명 : 데이터베이스에서 사용될 이름
논리명 : 테이블의 설계상이름
물리명은 제약조건이 있는 경우가 있다고 한다.
논리명은 언제든지 바꿀 수 있다고 한다.
도움받은 링크
https://lxxjn0-dev.netlify.app/first-step-sql-lec-34
[SQL 첫걸음] 34. 데이터베이스 설계
데이터베이스를 어떻게 설계하는지 소개한다.
lxxjn0-dev.netlify.app
EXERD 대문자 설정
EXERD를 사용하고 있는데 대문자 연결을 하려고 찾아봤더니
여러 설정이 많았다.
DB를 연결하거나, 자동 저장, 연결 관련 설정 등, EXERD 관련 설정등에 대한 설명이 좋았다.
도움받은 링크를 참고하시길 바란다.
도움받은 링크
https://blog.naver.com/centrople/221031349915
eXERD 사용법
Eclipse Plug-in 기반인 국내 ER 모델링 도구인 eXERD 사용법을 적어본다. Eclipse IDE와 환경...
blog.naver.com
EXERD 테이블 복사본 만들기
최근에야 개발자다워지는지
사용하는 다이어그램이 다를 때 외래키 입력 용도로 테이블을 어떻게 불러와야 하나 찾아보았다.
도움 받은 링크가 완벽히 도와준 건 아니지만
복사해서 붙여넣기 한 테이블이 수정 시 둘 다 반영된다는 걸 알게 되었다.
도움받은 링크
한 데이터베이스 다이어그램에서 다른 다이어그램으로 테이블 복사 - Visual Database Tools
한 데이터베이스 다이어그램에서 다른 다이어그램으로 테이블 복사(Visual Database Tools)
learn.microsoft.com
ERERD 테이블 1:1, 1:N, N:M
테이블을 오랜만에 만들려니까 정말 어렵다.
간단한 관계들, 대상을 쪼개고 분석해서 관계도로 나누는게 쉽지 않다.
설명을 읽고 간단하게 정리한 바로는
양쪽의 입장에서 생각해봐야 한다는 것이다.
익숙해지는 데 시간이 걸릴 것 같다.
더 해보고 정리가 되면 다시 다뤄보도록 하겠다.
EXERD에서 관계를 클릭 후, 속성에 들어가서 관계를 설정할 수 있다고 한다.
약속과 약속준비 테이블
하나의 약속은 여러개의 약속 준비를 가질 수 있다. N
약손준비는 여러개의 약속을 가질 수 없다. 1
그래서 1:N의 관계를 가져야하는 것 같다.
도움받은 링크
여러 관계에 대한 설명
https://velog.io/@gillog/DB-11-1N-NM-%EA%B4%80%EA%B3%84
[DB] 1:1, 1:N, N:M 관계
관계형 데이터베이스(Oracle, MySQL, MS-SQL, SQLite 등등)는 엔티티끼리 관계를 맺을 수 있어서 관계형 DB라는 이름이 붙었다.엔티티(Entity) : DataBase에 표현하려고 하는 유형, 무형의 객체로서 서로 구별
velog.io
관계설정 변경
https://domyutmost.tistory.com/13
[Database] eXERD에서 1대1 관계 설정하는 방법
eXERD 툴을 보면 상단에 1:N 관계선만 보인다. 1. 1: 1 관계선을 그리기 위해선 우선 1대 다 관계선을 그어준다. 2. 관계선을 클릭한 후, 마우스 오른쪽 버튼을 눌러서 속성에 들어간다. (관계선을 클
domyutmost.tistory.com
테이블 네이밍
테이블 네이밍을 보통 어떻게 하나 싶어 찾아봤는데
생각지도 못한 접미사 정리 도움을 받았다.
적절한 공통 줄임말은 도움이 되니 알아두는게 좋은 것 같다.
_CD : code
_NM : name
_NO : number
_SQ : sequence
_ID : ID
_DT : DATE
_YMD : YYYYMMDD
_ST : STATE
_FG : FLAG
_ORD : 순서 ORDER
_CNT : COUNT
_AMT : AMOUNT
-SUM : SUM
도움받은 링크
https://jeongkyun-it.tistory.com/186
Database 스키마/ 테이블/ 컬럼 네이밍 설계 방법 (DB Naming Rule)
서론 평소 회사에서 사용하고있는 스키마, 테이블, 컬럼 명에만 익숙해져서인지 실제론 어떤 컨벤션이 사용에 있어 더 좋은 방식인지 알아본적이 없는 것 같다. 그런데 이번에 DB를 처음부터 설
jeongkyun-it.tistory.com
식별관계와 비식별관계
식별관계
db 정합성 유지가 가능하다.
요구사항 변경 시 구조 변경이 어렵다.
비식별 관계
부모 에게서 독립적일수 있다.
요구사항을 유동적으로 수용 가능하다.
데이터 정합성을 위한 별도의 비즈니스 로직이 필요하다.
ORA-00054 에러
resource busy and acquire with NOWAIT specified or timeout expired
가 떠서 뭐가 문제인가 싶었더니
세션이 DB를 사용 중이어서 그랬다.
세션 킬을 해주면 된다고 한다.
세션 조회
SELECT a.session_id AS SESSION_ID, b.serial# AS SERIAL_NO,
a.os_user_name AS OS_USER_NAME, a.oracle_username AS ORACLE_USERNAME, b.status AS STATUS
FROM v$locked_object a, v$session b
WHERE a.session_id = b.sid;
세션 종료
alter system kill session 'SESSION_ID, SERIAL_NO';
도움받은 링크
[Oracle] ORA-00054: resource busy and acquire with NOWAIT specified or timeout expired 오류 해결
오류 해결
velog.io
'코딩일지' 카테고리의 다른 글
[코딩일지] 231025 (0) | 2023.10.25 |
---|---|
[코딩일지] 231020 (0) | 2023.10.20 |
[코딩일지] 231018 (0) | 2023.10.18 |
[코딩일지] 231016 (0) | 2023.10.16 |
[코딩일지] 231013 (0) | 2023.10.15 |