Database
-
데이터베이스 설계에서 중요한점Database 2024. 4. 2. 15:11
데이터베이스의 확장 DB에 저장되는 데이터의 양은 지속해서 추가되니 시스템 운영에 영향을 주지 않게 설계되어야 함. 호율성 응답시간 단축, 저장 공간 최적화 등을 통해 빠르게 구동할 수 있어야 함 회복 시스템에 장애가 발생 시 장애 발생 직전의 상태로 복구할 수 있어야 함 보안 인가되지 않은 사용자로부터 데이터의 수정 및 삭제를 막아야 함 무결성 삽입, 삭제, 갱신 등의 작업 이후에도 데이터베이스의 데이터들은 정해진 제약 조건을 유지해야 함 일관성 자료 검색을 요청받으면(질의어, SQL 등) 항상 동일한 응답(결과)를 보여야 함
-
NATURAL JOIN이란?Database 2020. 6. 4. 00:46
NATURAL JOIN(자연 조인) - 자연 조인은 등가 조인하는 방법 중 하나이다. - 동일한 타입과 이름을 가진 컬럼을 조인 조건으로 이용하는 조인을 간단히 표현하는 방법이다. - NATURAL JOIN은 두 테이블의 동일한 이름을 가지는 칼럼이 모두 조인된다. - 동일한 칼럼을 내부적으로 찾게 되므로 테이블 별칭(Alias)을 주면 오류가 발생한다. 기본 구조 SELECT 컬럼, 컬럼, … FROM 테이블1 NATURAL JOIN 테이블2 [NATURAL JOIN 테이블3] … WHERE 검색 조건; 반드시 두 테이블 간의 동일한 이름, 타입을 가진 컬럼이 필요하다. 조인에 이용되는 컬럼은 명시하지 않아도 자동으로 조인해 사용된다. 동일한 이름을 갖는 컬럼이 있지만 데이터 타입이 다르면 에러가 발생..
-
오라클 1주차Database 2020. 6. 3. 00:46
create user 계정이름 identified by 계정비번; 하면 당연히 계정이 생성 되어야 하는데 에라가 똮!! 1행에 오류: ORA-65096: 공통 사용자 또는 롤 이름이 부적합합니다. 검색해보니... 오라클 12c로 넘어오면서 계정이름 앞에 c##을 붙여줘야 공통 사용자를 생성가능... -- create new user CREATE USER c##[아이디] IDENTIFIED BY [비밀번호]; 사용자가 생성되었습니다. -- grant priviledges GRANT CONNECT, RESOURCE, DBA TO c##[아이디]; 권한이 부여되었습니다. -- drop user c##[아이디] cascade 1. ot_schema.sql 파일 적용 2. ot_data.sql 파일 적용 해당 파..
-
부분범위처리Database 2020. 5. 30. 14:26
부분범위처리란? 어떤 SQL에서 WHERE절에 주어진 조건을 만족하는 전체범위를 처리하지 않고 운반단위(array size) 까지만 먼저 처리하여 그 결과를 추출시킨 뒤 다음 작을 계속하겠다는 사용자의 요규가 있을 때까지 잠정적으로 수행을 멈추는 처리방식 부분범위처리의 목적 부분범위처리의 목적은 스캔범위를 나누어서 운반단위를 가능한 빨리 채워서 처리속도를 향상시키는 것이다. 10,000건의 데이터를 스캔해야 할때 1,000건만 읽어서 필요한 운반단위를 채울 수 있다면 10,000건을 다 읽지 않고 1,000건씩 10번으로 나눠서 처리할 수 있도록 하는 것이다. 부분범위처리의 적용원칙 부분범위처리의 자격 논리적으로 전체범위를 읽어 추가적인 가공을 하지 않고도 동일한 결과를 추출할 수 있다면 자격이 존재 부..
-
같은 테이블의 컬럼 값을 참조하여 null 값 UpdateDatabase 2019. 12. 24. 10:35
위 그림 처럼 Model 컬럼의 데이터를 Name 컬럼 중에서 데이터가 Null or "" 인 행만 Update하여 동일하게 데이터를 관리하고 싶었다. UPDATE devise a, devise b SET a.name = b.model WHERE a.model = b.model and a.name = ''; 같은 테이블 내에서 Model이란 컬럼을 기준으로 서로 맵핑하여 Model 컬럼의 데이터를 Name 컬럼이 ""인 행만 Update 해줄 수 있도록 해결하였다. 처음에는 반복문과 서브 쿼리문을 사용해 봤지만 많은 제약이 있었다. 이렇게 간단하게 할 수 있었다니 ㅠ