CS(Computer Science) (32) 썸네일형 리스트형 [데이터베이스] 3단계 데이터베이스 구조 - 외부/개념/내부 스키마 스키마 데이터베이스 구조와 제약조건에 관한 전반적인 명세를 기술한 것 개체(Entity), 속성(Attribute), 관계(Relationship) 및 데이터 조작시 데이터 값들이 갖는 제약 조건 등 3단계 데이터베이스 구조 데이터베이스를 쉽게 이해하고 이용할 수 있도록 하나의 데이터베이스를 관점에 따라 세 단계로 나눈 것 미국 표준 기관인 ANSI/SPARC에서 제안 외부, 개념, 내부 스키마 세 단계로 나누어져 있으며, 내부 단계에서 외부 단계로 갈수록 추상화 레벨이 높아짐 추상화 레벨이 높아진다는 것은 데이터베이스가 실제 어떻게 돌아가는지에 대해 관심이 없다는 것과 비슷 외부 스키마(External Schema) 사용자나 응용 프로그래머가 개인의 입장에서 필요한 데이터베이스의 논리적 구조를 정의 전.. 데이터베이스 모델링 데이터베이스 모델링 데이터베이스 설계 과정에서 데이터를 구조화하고 조직화 하는 과정을 의미 복잡한 현실세계의 데이터를 단순화 시켜 데이터베이스로 표현하기 위한 작업 데이터베이스 시스템에서 데이터를 저장, 관리 및 검색하기 위한 체계를 만드는 중요한 단계 중 하나 종류로는 개념적 모델링, 논리적 모델링, 물리적 모델링이 있음 개념적 모델링 요구사항을 수집하고 분석한 결과를 토대로 전체적인 뼈대를 만드는 과정 개체-관계 다이어그램(ERD, Entity-Relationship Diagram)을 사용하여 개체(Entity)와 개체간의 관계를 시각화함 논리적 모델링 개념적 모델을 바탕으로 데이터베이스의 구조와 테이블을 설계 테이블, 열, 관계 및 제약조건을 정의하고 데이터베이스 관리 시스템에 맞게 데이터 형식과 .. TDD, DDD TDD(Test Driven Development) - 테스트 주도 개발 소스코드를 작성하기 전에 테이스트 케이스를 먼저 작성하고 테스트로 검증된 코드를 가지고 실제 코드를 작성하는 개발 방법론 개념 요구되는 기능에 대한 자동화된 테스트 케이스를 작성 해당 테스트 케이스를 통과하는 가장 짧고 가독성이 좋고 유지보수성이 뛰어난 코드 작성 상황에 맞게 리팩토링 TDD 사이클 Red(실패) : 실패하는 테스트 코드를 먼저 작성 Green(성공) : 테스트 코드를 성공시키기 위한 실제 코드를 작성 Refactor(리팩토링) : 실제 코드와 테스트 코드 리팩토링 수행 장점 좋은 코드 작성에 유리 테스트 코드 작성 -> 기능 구현 코드 작성 -> 리팩토링의 단계를 반복하기 때문에 시스템에서 발생할 수 있는 오류들을.. 클라우드 클라우드 컴퓨팅 인터넷 기반의 컴퓨팅으로 인터넷 상의 가상화된 서버에 프로그램을 두고 필요할때마다 불러와 사용하는 서비스 물리적 데이터 센터와 서버를 구입, 소유 및 유지 관리하는 대신 클라우드 공급자로부터 필요에 따라 컴퓨팅 파워, 스토리지, 데이터베이스와 같은 기술 서비스에 엑세스 할 수 있다. 장점 서버를 직접 구매할 때 고려해야 할 전력, 위치, 확장 성을 고민하지 않아도 된다. 데이터 센터 어딘가에 이미 준비되어 있는 서버를 사용하며, 서버 세팅 등을 신경쓰지 않고 서비스 운영에만 집중 가능하다. 서비스 제공 형태 퍼블릭 클라우드(Public Cloud, 공공 클라우드, 개방형 클라우드) 특정 기업이나 사용자들 위한 서비스가 아닌 인터넷에 접속 가능한 모든 사용자를 위한 클라우드 서비스 모델 클.. 저장 프로시저(Stored Procedure) 저장 프로시저(Stored Procedure) DB 내부에 저장된 일련의 SQL 명령문들을 하나의 함수처럼 실행하기 위한 쿼리의 집합 즉, DB에 대한 작업을 정리한 절차를 RDBMS에 저장한 쿼리의 집합으로 영구저장모듈이라고도 불린다. SQL Server에서 제공되는 프로그래밍 기능, 여러 쿼리를 하나의 함수로 묶은 쿼리문의 집합 어떠한 동작을 일괄 처리하기 위한 용도로 사용 자주 사용되는 일반적인 쿼리를 모듈화시켜서 필요할 때마다 호출 테이블처럼 각 데이터베이스 내부에 저장 일반 쿼리문 vs 저장 프로시저 일반 쿼리문 작동 단계 일반적인 쿼리문을 처음 실행하면 위의 프로세스로 동작을 한다. 예시로 아래의 쿼리문을 실행한다고 가정해보자 SELECT name FROM userTbl; 구문 분석단계 : 구.. 결합도(Coupling)와 응집도(Cohesion) 모듈화(Modularization) 소프트웨어 개발에서 코드를 각 기능별로 나누는 것 프로그램이 효율적으로 관리될 수 있도록 시스템을 분해하고 추상화함으로써 소프트웨어 제품의 성능을 향상시키거나 시스템의 수정 및 재사용, 유지 관리를 용이하게 하는 기법 모듈(Module) 기능별로 나누어진 모듈화의 결과 소프트웨어 내의 프로그램 또는 작업 단위 독립성 모듈은 주어진 기능만을 독립적으로 수행하며 다른 모듈과 적게 연관되어야 함 모듈의 결합도와 응집도로 측정 결합도는 낮고, 응집도가 높을수록 독립성이 높음 독립성이 높을수록 좋은 모듈 해당 모듈을 수정해도 다른 모듈에 미치는 영향이 감소하기 때문 결합도(Coupling) 서로 다른 모듈 간 상호 의존하는 정도 또는 두 모듈 사이의 연관된 관계 낮을수록 좋음 .. [데이터베이스] 데이터베이스 설계 단계 데이터베이스 설계 순서 1. 요구 조건 분석 - 데이터베이스의 용도 파악 실제 세계에서 어떤 시스템을 구축할 것인지에 대한 요구사항 수집 요구사항에 대해 어떤 데이터들이 필요한지, 어떤 기능들이 필요한지 분석 서비스에 필요한 데이터와 해당 데이터의 관계 파악 수집된 정보를 바탕으로 요구 조건 명세서를 작성 2. 개념적 설계 - DBMS에 독립적인 개념적 구조 설계 요구사항을 기반으로 개념적 데이터 모델을 작성 -> 개념적 모델링이라고 함 보통 E-R 다이어그램을 많이 사용 이러한 결과물을 개념적 구조 또는 개념적 스키마라고 함 E-R 다이어그램 개체(Entity) 단독으로 존재하는 객체를 의미하며, 동일한 객체는 존재하지 않음 E-R 다이어그램에서 사각형으로 표현(게시글, 사용자) 속성(Attribute.. [데이터베이스] 이상 현상(Anomolay) 이상 현상(Anomolay) 좋은 관계형 데이터베이스를 설계하는 목적 중 하나가 정보의 이상 현상이 생기지 않도록 고려해서 설계하는 것이다. 이상 현상은 테이블을 설계할 때 잘못 설계하여 데이터를 삽입, 삭제, 수정할 때 논리적으로 생기는 오류를 말한다. 종류로는 갱신 이상(Modification Anomolay), 삽입 이상(Insertion Anomolay), 삭제 이상(Deletion Anomolay)이 있다. 예시 테이블 삽입 이상(Insertion Anomolay) 특정 데이터가 존재하지 않아 중요한 데이터를 데이터베이스에 삽입할 수 없을 때 발생 예시 테이블에서 기본키는 학번이기 때문에 새로운 행을 삽입하기 위해서는 기본키인 학번이 필수이다. 새로 행을 삽입하였지만, 학생이 존재하지 않기 때문.. 이전 1 2 3 4 다음