Tomato

SQLD

    SQLD 8

    SQLD 8

    이번에는 트랜잭션에 대해 알아볼게요. 처음에 트랜잭션이라는 단어를 보고 이게 대체... 뭔가 작업을 처리하는 단위가 뭔데요... 했거든요. 결국은 풀어서 말하자면, 데이터베이스의 상태를 변화시키는 어떤 논리적 기능을 수행하는 작업 단위, 한번에 수행되어야 하는 연산들을 말하더라고요! 1. 트랜잭션 특성 1) 원자성: All or Nothing 2) 일관성: 트랜잭션 하나 실행했는데 데이터모델 자체가 바뀌거나 하는 일이 없어야 한다는 말 3) 고립성: 누군가가 어떤 모듈에 접근을 하는데 함께 작업하면 안 된다는 말, 한 사람이 작업을 하고 있기 때문에 다른 사람은 그게 끝나고서야 들어갈 수 있다는 것 4) 영속성(=지속성): 한 번 데이터 실행하고 나면 다른 사용자가 바꾸기 전까진 영구적으로 보장되어야 한..

    SQLD 6

    create table EMP( empno int not null primary key, emp_name varchar(30) not null, age int not null, sal int not null, dept_code int not null ); => EMP 테이블 생성! select*from emp; => 아직은 데이터를 넣지 않았기 때문에 아직 표에 데이터가 나오지 않아요! create table DEPT( dept_code int not null primary key, dept_name varchar(30) ); => DEPT 테이블 생성! SQL은 관계형 데이터베이스를 사용하는 절차형 언어로, 데이터 구조 정의/조작/제어 등을 할 수 있어요. 이걸 무엇으로 할 수 있느냐!!에 대해 알아볼..

    SQLD 5

    SQLD 5

    Relation Database 1. Database Vs Database management system Database는 데이터를 어떤 형태의 Data Structure로 사용하느냐에 따라 나누어져요. *데이터베이스의 종류: 계층형, 네트워크형, 관계형 계층형: Node형태로 되어 있는, Tree형태의 자료구조에 데이터를 저장/관리, 1:N의 관계 네트워크형(망형): Owner와 Memeber 형태로 데이터 저장, 1:N, M:N의 관계 표현 가능 *둘의 문제점: 상위에 무엇이 있는지 파악해야 해서 유지/보수가 힘듦 > 관계형 데이터베이스 등장 관계형: 릴레이션에 데이터 저장/관리, 집합 연산, 관계 연산 O Database management system은 각 데이터베이스를 관리하기 위한 소프트웨어..

    SQLD 4

    SQLD 4

    관계 관계는 크게 식별/비식별 관계로 나누어 볼 수 있어요. 말그대로 식별할 수 있거나 없는 것을 의미한다고 하는데 솔직히 처음에 이게 무슨 말인가 싶었어요... 그래서 예시를 열심히 찾고 찾았답니다 :] 이걸 알기 전에 Foreign Identifier에 대해 알아야 해요! 외부식별자는 속성을 말하는데 이름처럼 내 엔터티 아니고 다른 엔터티 즉, 자식 엔터티에 생성되는 속성이라는 거예요. 예를 들어 고객과 계좌 엔터티가 각각 존재한다면, 고객은 고객만으로도 존재할 수 있지만 계좌는 고객이 만들어줘야 존재할 수 있잖아요? 이때 내 엔터티, 즉 Strong Entity가 고객이 되고, 내 거 아닌 엔터티, 즉 Week Entity가 계좌가 되는 거예요, 1. Identification Relationshi..

    SQLD 3

    1. 데이터 독립성 1) 데이터 독립성의 필요성 간단하게 말하면, 개별적인 데이터 그 자체로도 의미가 있고 다른 서비스와 결합해서도 의미가 있다는 거예요! 이렇게 되면 독립적인 데이터는 개인의 고유한 기능을 가지고 그것을 제공할 수 있다는 장점을 가질 수 있겠죠. 원래는 데이터 종속성이라는 게 있었어요. 보통 이건 Application(사용자 요구사항을 처리하는 사용자 접점 인터페이스 오브젝트)을 말해요. 원래는 데이터를 구성할 때 파일 형식으로 했대요. 그래서 인덱스를 따로 구현해서 접근해야 했어요. 문제는 이게 발전하면서 점점 난해해졌다는 거죠. 그런 면에서 데이터 독립성은 계속해서 늘어나는 유지보수 비용을 절감할 수 있고, 데이터 복잡도를 낮출 수 있으면서 중복된 데이터를 줄이기 위해 사용할 수 있..

    SQLD 2

    1. 데이터 모델링의 3단계 진행 모델링에도 진행 과정이 있어서 각 단계에 이름이 붙어있어요. 얼마나 추상화되었느냐에 따라 개념적/논리적/물리적 데이터 모델이라고 불러요! 먼저 가장 추상화 수준이 높은 모델로 개념적 데이터 모델이 있어요. 다른 데이터 모델에 비해 상대적으로 현실세계와 가까운 느낌이라고 볼 수 있어요. 굉장히 업무중심적이고 포괄적인 모델링인데, 현실세계에 있는 정보 중에서도 모델링의 목적과 맞는 정보(업무중심적)들을 Entity 중심으로 가지고 오거든요! 개념적 데이터 모델 이후에는 이를 좀 더 구체적으로 업무의 흐름과 연관시킬 필요가 있어요. 그렇게 만들어낸 모델을 논리적 데이터 모델이라고 해요. 이를 데이터베이스 저장구조에 맞게 모델링 하는 방식을 물리적 데이터 모델링이라고 해요. 실..