CS/데이터베이스

데이터베이스 커넥션웹 애플리케이션과 DB는 서로 다른 시스템이이기 때문에 데이터베에스 드라이버를 사용하여 DB에 연결해야 한다.즉, 데이터베이스와 통신을 위한 연결이다. DB 연결 생명주기데이터베이스 드라이버를 사용하는 데이터베이스 연결 열기.데이터를 읽고 쓰기 위해 TCP 소켓 열기.TCP 소켓을 사용하여 데이터 통신.데이터베이스 연결 닫기.TCP 소켓 닫기.  데이터베이스 커넥션 풀User가 웹 애플리케이션에 요청이 들어올때마다 DB 연결하고, 끊어주는 것은 비효율 적인데,이를 해결하기 위한 것이 커넥션풀이다.커넥션 풀은 미리 여러개의 DB 커넥션을 풀에 만들어 두고, 필요할 때마다 꺼내 쓰는 것을 말한다.또한 User와 연결이 끊어지면 풀에 반환하여 보관한다.  커넥션 풀 동작 원리Thread가 C..
Join(조인)영어사전에서 조인이란 연결하다, 잇다 라고 표현하는데 뜻에서 알 수 있듯 하나가 아닌 둘 이상을 잇는 것을 의미한다.데이터베이스에서의 조인도 비슷한데,한 테이블의 행을 다른 테이블의 행에 연결하여 두 개 이상의 테이블을 결합하는 것이다. 조금 정직하게 설명하면한 데이터베이스 내의 여러 테이블의 레코드를 조합하여 하나의 열로 표현한 것.테이블로서 저장되거나, 그 자체로 이용할 수 있는 결과 셋을 만든다. 조인의 필요성서로 관계있는 데이터가 여러 테이블로 나뉘어 저장되므로 각 테이블에 저장된 데이터를 효과적으로 검색하기 위해 필요하다.ex) MEMBER 테이블과 TEAM 테이블, STUDENT 테이블과 CLASS 테이블   Join의 종류  INNER JOIN : 두 테이블 간의 일치하는 행을..
인덱스추가적인 쓰기 작업과 저장 공간을 활용하여 데이터베이스 테이블의검색 속도를 향상시키기 위한 자료구조이며, 테이블의 컬럼을 색인화(책의 목차와 비슷하다)한다.즉, 데이터의 주소값을 저장하는 별도의 특별한 자료구조이다. index를 활용해서 빠르게 원하는 데이터를 찾을 수 있다.   인덱스를 사용하는 이유 일상생활에서의 인덱스먼저 위에서 말했듯이 인덱스는 책의 목차와 비슷하다.우리가 원하는 내용을 찾기 위해 책을 폈다고 생각해보자,우리는 목차를 먼저 확인하고 목차에서 원하는 단원을 확인 후 그 페이지로 이동한다.만약 목차가 없다면 책 전체를 다시 한 번 확인해야 하는데 그렇게 된다면 시간이 너무 오래 걸린다.목차가 있다면 원하는 페이지로 이동하는 시간이 책이 두꺼울수록 더 많이 단축될 것이다.  데이터..
저장 프로시저(Stored PROCEDURE)SQL Server에서 제공되는 프로그래밍 기능이고, 쿼리문의 집합으로 어떠한 동작을 일괄 처리하기 위한 용도로 사용된다. 설명만 보면 함수랑 비슷해 보이지만 차이점이 있다.프로시저는 작업을 처리한 절차이지만, 함수는 여러 작업을 위한 기능이다.프로시저는 서버에서 실행되기 때문에 빠르지만, 함수는 클라이언트에서 실행되기 때문에 프로시저보다 느리다.프로시저는 리턴값이 없거나 많을 수도 있지만, 함수는 리턴값이 필수이다.  프로시저 장점과 단점장점SQL Server의 성능을 향상 시킬 수 있다.하나의 쿼리문으로 원하는 결과를 얻을 수 없을 때가 생기는데,그 때 여러줄의 쿼리문을 사용하는 것도 비효율적이며 인자 값만 상황에 따라 바뀌고 동일한 로직의 쿼리를 필요할..
스키마(Schema)DB의 구조와 제약 조건에 관한 전반적인 명세를 정의한 메타데이터의 집합이다.스키마는 데이터베이스를 구성하는 Entity, Attribute, Relationship 및 데이터 조작 시 데이터 값들이 갖는 제약 조건 등에 관해 전반적으로 정의한다스키마는 사용자 관점에 따라 내부 스키마, 외부 스키마, 개념 스키마로 나눠진다.더보기Entity(개체) : 데이터로 표현하려고 하는 객체(속성들의 집합)Attribute(속성) : 개체가 갖는 속성Relationship(관계) : 개체와 개체 사이의 연관성  스키마의 특징데이터 사전에 저장되며, 다른 이름으로 메타데이터라고도 한다.현실 세계의 특정한 한 부분의 표현으로서 특정 데이터 모델을 이용해서 만들어진다.시간에 따라 불변인 특성을 갖는다..
데이터베이스여러 사람이 공유하고 사용할 목적으로 통합 관리되는 정보의 집합이다. 데이터베이스 종류계층형 데이터베이스 거의 안 쓰임데이터가 계층적, 상하 종속적인 관계로 구성.빠르지만 한 번 구축 후 변경이 어렵다.네트워크형 데이터베이스 거의 안 쓰임망형이라 불리고 계층형 단점을 보완하고자 트리 구조를 확장한 형태계층형에 비해 유연하고 접근성이 높지만 복잡하게 연결되어있어 유지 보수가 어렵다. 관계형 데이터베이스(Relational DataBase)하나 이상의 열과 행의 테이블에 저장되어 서로 다른 데이터 구조가 어떻게 관련되어 있는지 쉽게 파악하고 이해할 수 있도록 사전 정의된 관계로 데이터를 구성하는 정보 모음이다. 장점제약 조건과 규칙을 사용하여 데이터 일관성과 무결성을 적용 및 강화할 수 있다.SQ..
격리 수준에 따라 발생하는 현상1. 오손 읽기(Dirty Read)읽기 작업을 하는 트랜잭션 A가 쓰기 작업을 하는 트랜잭션 B가 작업한 중간 데이터를 읽을 대 생기는 문제.작업 중인 트랜잭션 B가 작업을 철회할 경우 트랜잭션 A는 무효가 된 데이터를 읽게 되고 잘못된 결과 도출.2. 반복불가능 읽기(NON-REPEATABLE READ)트랜잭션 A가 데이터를 읽고 트랜잭션 B가 데이터를 쓰고(갱신), 트랜잭션 A가 다시 한번 데이터를 읽을 때 생기는 문제.즉, 트랜잭션 A가 읽기 작업을 다시 한 번 반복할 경우 결과가 반복되지 않는 현상Dirty Read와 달리 트랜잭션 B가 작업을 정상적으로 종료하여 틀린 데이터는 아니다.3. 유령데이터 읽기(PHANTOM READ)트랜잭션 A가 데이터를 읽고 트랜잭션..
동시성 제어곤지암 스키장은 슬로프 정원제라고 동 시간대 입장 인원을 3,500명으로 제한한다.이렇게 하게 되면 동 시간대 사람이 최대 3,500명만 입장하기 때문에 리프트를 타기 위한 줄이 짧아질 것이다.만약 3,500명으로 제한하지 않고 사람이 몰리게 된다면 사고가 나거나 기다리는 시간이 엄청 길어질 것이다. 트랜잭션도 비슷하다.한 개의 트랜잭션이 끝나고 다음 트랜잭션을 수행하면 데이터베이스 일관성이 아무 문제가 안 생긴다.하지만 데이터베이스는 공유하여 사용하기 때문에 트랜잭션을 동시에 수행해야 하는데다른 트랜잭션이 데이터를 공유하고 있다는 사실을 모르는 상황에선 일관성이 훼손될 수 있다.트랜잭션이 동시에 수행될 때 일관성을 해치지 않도록 접근을 제어하는 DBMS의 기능을 동시성 제어라고 합니다. Tr..
백수왕
'CS/데이터베이스' 카테고리의 글 목록