분류 전체보기
[Database] 무결성 제약 조건
무결성 제약 조건 데이터 무결성 데이터베이스에 저장된 데이터의 일관성과 정확성을 지키는 것 도메인 무결성 제약 조건 도메인 제약 이라고도 하며 릴레이션 내의 투플들이 각 속성의 도메인에 지정된 값만을 가져야하는 조건 데이터형식, 널, 기본값,체크 등을 사용하여 지정 가능 개체 무결성 제약 조건 기본키 제약이라고도함. 삽입 : 기본키 값이 같으면 삽입이 금지됨 수정 : 기본키 값이 같거나 null로도 수정 금지 삭제 : 특별한 확인이 필요하지 않으며 즉시 수행함기본키는 NULL값을 가져서는 안되고 릴레이션 내에 오직 하나의 값만 존재해야 하는 조건 참조 무결성 제약조건 외래키 제약. 외래키는 기본키의 도메인값이거나 NULL 값이어야한다. 자식릴레이션 외래키 는 부모 릴레이션 기본키와 도메인이 동일해야하며 ..
[Database] 관계 데이터 모델
릴레이션 행과 열로 구성된 테이블 (테이블) 관계 릴레이션 내에서 생성되는 관계 : 릴레이션 내 데이터들의 관계 릴레이션 간에 생성되는 관계 : 릴레이션 간의 관계 릴레이션 스키마와 인스턴스 스키마의 요소 속성 : 릴레이션 스키마의 열 도메인 : 속성이 가질 수 있는 값의 집합 차수 : 속성의 개수 스키마의 표현 (헤더) 릴레이션 이름 도서(도서번호, 도서이름, 출판사, 가격) 인스턴스 요소 (데이터) 투플 : 릴레이션의 행 카디날리티 : 투플의 수 투플의 속성의 개수는 릴레이션 스키마의 차수와 동일 릴레이션의 특징 속성은 단일 값을 가진다. 도메인에 정의된 값만을 가지며 모두 단일 값이어야한다. 속성은 서로 다른 이름을 가진다 한 릴레이션에서 서로 다른 이름을 갖고 data 중복이 없으며 속성의 유일성..
[Database] 데이터베이스 시스템의 구성
데이터베이스 언어 SQL 데이터 정의어 create처럼 저장된 table의 구조를 정의 데이터 조작어 select ,insert, delete data조작 데이터 제어어 revoke 사용권한,회복, 백업 등 데이터베이스 사용자 일반 사용자 프로그램을 이용하여 DB에 접근하는 일반인 응용프로그래머 일반사용자가 사용가능하도록 프로그램을 만드는사람. 데이터관리 로직 개발 SQL 사용자 SQL 사용하여 업무를 처리함. 데이터베이스 관리자 DB 운영조직의 DB시스템을 총괄하는 사람 설계,구현,유지보수 전과정을 담당 DBMS 기능 - 사용자와 DB를 연결해주고 DB관리 시스템에선 필수 데이터 정의 - 데이터 구조를 정의하고 구조에대한 삭제 및 변경 기능 수행 데이터 조작 - 데이터 조작 SW가 요청하는 데이터의 삽..
[Database] 파일 시스템과 DBMS
데이터를 프로그램 내부에 저장하는 방법 구조체 변수에 저장 새로운 데이터 생기면 프로그램 수정 후 다시 컴파일 파일 시스템을 사용하는 방법 파일로부터 데이터를 불러와 구조체에 저장 새로운 데이터가 추가되어도 프로그램 수정 필요없음 같은파일을 두개의 프로그램이 공유하는것이 OS도움 없이 불가능(동시사용불가) 응용프로그램에 종속적, 일관성 무결성이 떨어진다. DBMS 사용하는 방법 데이터 정의, 값을 DBMS가 관리 DBMS는 데이터 정의, 변경 작업을 할 수 있는 별도의 프로그램을 갖고 있다. 프로그램에 데이터 정의나 값을 포함하지 않기 떄문에 구조가 바뀌어도 다시 컴파일할 필요가없다. 응용프로그램에 독립적이며 일관성, 무결성 유지 숭실대학교 Database 강의를 수강 후 정리하였습니다.
[Database] 데이터베이스 시스템의 발전
컴퓨터 없이 회계 업무(계산기), 장부에 기록 , 사장이 직접 응대 컴퓨터가 도입됨에 따라 회계 업무( 한대의 컴퓨터 사용), 파일 시스템 사용 , 컴퓨터를 이용하여 도서 검색, 직원고용 지점이 늘어남에따라 데이터베이스 구축, 회계업무(컴퓨터 사용), DB시스템사용 , 클라이언트/서버 시스템으로 지점 연결하여 도서 검색 서비스 제공 (전용선으로 그들만의 네트워크 사용) 홈페이지 만듦에 따라 회계/인사 업무(컴퓨터,인터넷), 웹 DB로 지점간 연계, 인터넷으로 도서검색및 주문가능 (인터넷 이용해서 서점 외부에서도 작업이 가능, 전용선 필요없음) 인터넷 쇼핑몰 운영에따라 회계/인사 업무(컴퓨터,인터넷), DB서버 여러개 구축 파일 시스템 데이터를 파일 단위로 파일 서버에 저장 각 컴퓨터는 LAN을 통해 파일..
[Database] 데이터 베이스와 데이터베이스 시스템
데이터 : 관찰의 결과로 나타난 정략적, 정성적 실제값 정보 : 데이터에 의미를 부여한 것 지식 : 사물,현상에 대한 이해 데이터베이스 조직에 필요한 정보를 얻기 위해 논리적으로 연관된 데이터를 모아 구조적으로 통합해 놓은것 데이터베이스 시스템 데이터의 검색과 변경(삽입,삭제,수정) 작업을 주로 수행함 데이터베이스 개념 통합된 데이터 각자 사용된 데이터의 중복을 최소화하여 중복으로 인한 데이터 불일치 현상 제거 저장된 데이터 디스크,테이브같은 컴퓨터 저장장치에 저장된 데이터 운영 데이터 조직의 목적을 위해 업무를 위한 검색목적 저장된 데이터 공용데이터 한사람, 한업무용이 아니라 공동으로 사용되는 데이터 데이터베이스 특징 실시간 접근성 실시간으로 서비스된다. 수초내에 결과 서비스 계속적인 변화 시간에따라 ..
[우아한테크코스 5기] 우아한테크코스 합격 자소서 회고
[우아한테크코스 5기] 백엔드 최종 합격 28일은 우아한 테크코스 최종 결과가 나오는 날이였다. 성적이의신청 때문에 학교에 들릴일이 있었는데 마침 연구실도 들릴겸 거기서 우테코 5기 최종 결과를 확인하였다. 오후 2시부터 너무너 eastc.tistory.com 내가 우테코 합격문구를 볼 수 있을줄은 정말 몰랐다. 만약 우테코가 떨어진다면 겨울 프로젝트를 진행하면서 4학년을 다니고 자격증을 따면서 취업준비를 진행했을 것 같다. 하지만 우테코가 붙게되고 23년은 오로지 우테코에 전념하며 공부를 하게 되었다. 지원 처음에는 되면 좋겠지만 안될수도 있겠지.. 라는 생각으로 지원을 했었다. 그렇지만 열심히 자소서를 작성하고 포트폴리오를 정리하여 제출하였다. 나는 자기소개서를 최대한 솔직하고 자세하게 작성하려 노력..
[Operating System] Semaphore
Locks 쓰레드는 서로 메모리를 공유한다. 따라서 공유변수가있다. 여러 쓰레드가 모두 변수의 값을 read하는 경우 문제가 발생하지 않지만, 특정 쓰레드가 변수의 값을 write하면 동기화 문제가 발생한다. 이를 해결하기 위해서는 한 thread가 변수를 write할 때에는 다른 thread가 해당 변수에 접근할 수 없도록 lock을 걸어주는 과정이 필요하다. lock~unlock의 구간을 critical section(임계 영역)이라고 한다. critical section은 해당 영역 내의 다수의 명령어를 atomic(원자적)하게 실행되도록 보장한다. 마지막으로 starvation이 발생하지 않아야 한다. mutual exclusion (상호 배제) critical section에는 어느 시점에서든 ..
[Operating System] Thread
프로세스 자원 소유의 단위 메인메모리, IO장치, 파일시스템 스케줄링의 단위 문맥교환은 프로세스 사이에 발생하며 다음 실행될 프로세스를 선택 Thread 라고 정의 멀티 쓰레드 OS가 하나의 프로세스 내에서 여러 쓰레드를 지원하는 것. 여러 process가 동시에 실행될 수 있으면서, 각 process 내에 여러 thread가 함께 존재하는 것이다. 멀티쓰레딩 환경에서 프로세스는 보호의 단위, 자원할당의 단위로도 정의된다. 스케줄링의 단위는 프로세스가 아닌 쓰레드가한다. 각쓰레드는 문맥교환 수행을 위해 독립된 Program counter를 보유한다. 독립된 stack을 보유한다. 하지만 heap, data,text같은 메모리영역은 프로세스내 다른 쓰레드 와 공유한다. process에게 할당된 stack ..
[Operating System] Page Replacement
Paging Replacement Policy 메모리 모든 페이지프레임이 사용중인 상황에 SWAP에 위치한 페이지프레임을 참조하는 상황이 발생할 수 있다. 메모리 페이지프레임중 하나를 SWAP의 페이지프레임과 교체해야한다.(PAGE FAULT) PAGE FAULT가 자주발생하는것 - 쓰레싱. PAGE FRAME이 미래에 얼마나 참조될지 예측하는것. 과거의 경향을 근거로 예측한다. OPTIMAL 미래에 참조될 PAGE순서를 모두 아는 상태에서 앞으로 참조까지 시간이 가장 긴 PAGE를 교체한다. FIFO 먼저 들어온 페이지가 먼저 나가는 단순 큐. 쉽지만 구현이 어려움 LRU 가장 오랫동안 참조되지 않은 페이지를 교체 각 page frame마다 가장 최근에 참조된 시각을 기록해야 하는데, 성능이좋지않다. ..