데이터베이스 모델링8 Relation Table 생성 vs column 추가 바야흐로 AI 광풍의 시대이다.HBM에 늦게 승선한 삼성은 쇠락하고 빠르게 대응한 하이닉스를 승승장구를 하고있다.대처기제(Coping Mechanism)의 진화를 IT 측면에서 간단히 살펴보면 아래와 표현할 수 있을 것 같다.Totemism -->> Shamanism -->> Rationalism ->> Postmodernism ->> AI dependency -->> AI-ism 최초의 철학자 탈레스부터 神의 장례를 치른 니체 이후에도 여전한 의존적 지성으로 스스로를 방어하는 사람들.이제 4차산업 혁명에 따른 새로운 대처기제인 AI-ism에 대한 능동적 저항이 필요한 시점이 아닐까 생각된다.AI가 고도화됨에 따라 인간의 사고의 방향성에 대한 다양한 해석들이 있어보이나 대부분의 일반인은 좌이대사(坐而.. 2025. 5. 12. 모델링 및 쿼리작성 - 신규개발(SI) rule 사이트별로 Rule도 상이하고 문서 양식도 다를 수 있으니 참고바란다.DBMS는 Azure SQL server를 기준으로 했으나실상 비용과 관련된 부분을 제외하면 MS-SQL server와 거의 동일하다. 1. 작명규칙 ㄴ 공통 : MS-SQL server에서 기본 제공되는 function, method, property 사용금지(ex :USER_ID) ㄴ 테이블 : 업무관련 이니셜로 대문자(필요시 언더바로 연결) ㄴ 컬럼 : 가독성 좋게 최대한 줄인 fullName(ex : ShipName) 으로 대소문자 혼용과 특수문자("_") 사용금지 ㄴ PRIMARY KEY(CLUSETERED) : PK_스키마명_테이블명 ㄴ FOREIGN KEY : FK_스키마명_테이블명 ㄴ DEFAULT : DF.. 2025. 4. 2. MS-SQL server TABLE 생성 DDL - VBA 스크립트 역시나 마찬가지로 이번에는 테이블 생성과 관련하여정해진 정의서에서 DDL 스크립트를 생성하는 Excel VBA 스크립트다.check, FK, Indentity 등등은 조금만 코드를 수정하면 가능하리라 본다.이 스크립트의 경우 DB생성시 collate 를 잘못 설정한 DBA에게 유용하리라 본다. 역시나 대량의 테이블 생성시 시간 낭비를 줄일 수 있다.파일은 약속된 파일이며 VBA 코드는 일반 모듈에 복붙하여 사용하면 된다.기준은 하나의 시트(테이블) 씩 생성이나 시트가 역시나 규칙적이라면 순환문으로 이역시 처리가 가능하리라 본다. [VBA 코드 : 해당 시트를 활성화 후 호출해야 한다.] Option Explicit Public Sub makeDDL() Dim iStart As Integer .. 2025. 3. 25. MS-SQL server 컬럼 수정, 추가, 삭제 VBA 스크립트 SI건 SM이건 DBA나 모델러를 하다보면 필히 다양한 정의서가 존재한다. 해당 사이트별로 상이하나 엑셀 규격만 맞출 수 있다면 반복적인 혹은 대량의 DDL 문으로 인한 시간 낭비를 줄일 수 있다. 아래는 테이블내 컬럼의 추가, 수정, 삭제시 약속된 엑셀 양식의 정의서에서 VBA 스크립트를 이용해 DDL문을 추가하는 Excel VBA 코드이다. CECK 제약조건도 종종 사용되지만 구차니즘으로 살짝 제외하였다. 그럼에도 센스있는 데이터 관지자라면 살짝 손봐서 사용이 가능할 것이다. 우선 소스는 아래와 같으며 첨부된 파일에서 DDL 생성하기 클릭시 N,O열에 DDL문과 코멘트 생성 확인이 가능하다. VBA 소스는 아래와 같다. '## 컬럼 추가/수정 Public Sub makeColumn() Di.. 2025. 3. 24. 데이터베이스 모델링 1-4 PRIMARY KEY & UNIQUE ※ PRIMARY KEY ㄴ 해당 테이블내 각각의 행을 고유하게 식별할 수 있도록 하는 제약조건이다. ㄴ 반드시 not null 이어야 하며 clustered(일반적으로 기본값이 clustered) 인 경우 테이블 내 데이터 자체를 정렬한다. ㄴ 동 테이블내 nonclustered index 에서 seek 후 covered가 안되는 경우 clustered PK 존재시에는 key lookup 형태의 랜덤엑세스가 발생하는 데 만약 clustered PK 가 미존재하는 경우 heap lookup 형태의 랜덤 엑세스가 발생한다. 당연히 비 정렬상태의 RID(오라클의 rowid)값을 찾는 랜덤엑세스인 heap lookup 이 리소스를 많이 잡아먹게 된다. 하나 찾을때마다 래치 획득과 해싱의 과정을 반복.. 2025. 1. 14. 데이터베이스 모델링 1-3 작명(Naming rule) 어떤 DA이건 초기 설계시 우선 세우는 원칙중 하나가 Naming rule 이다.첫째로 가독성이고 유지보수시 개발 담당자이건 DBA에게 혼선을 줄 수 있기 때문이다.간단하게 절대적 룰이라고 말할 수는 없으나 개인적 경험치로 말해 보겠다.중요한건 한눈에 잘 들어오며 패턴이 일정하다는게 중요하다.MS의 경우 DMV(Dynamic Management Views)에서는 정보를 취득할 수 있으나 SSMS만 보고 작업시 실수하는 경우가 종종 발생한다.전체적으로 작명은 너무 길지 않되 의미가 한눈에 들어오는게 좋다. ※ 스키마명4자미만(보통 3글자로 사용되며 기본 스키마인 DBO를 참조해서 그러한듯 싶다.)의 고정형 문자로 보통 지정하고 비지니스 타입으로 구분하는게 일반적이며비지니스가 복잡하지 않는 경우 기준정보/배.. 2025. 1. 2. 이전 1 2 다음