본문 바로가기

분류 전체보기155

[DB] 식별자 제품지급 부서사원 제품이 부서 사원이랑 다대다 관계 제품과 사원 제품과 부서간에 서로 다대다 관계 제품지급이라는 엔티티 생성 제품지급 보시면 지급처라는 컬럼이 부서코드가 들어갈 수 있고 사원번호가 들어갈 수 있음 외래키 부모테이블 두개 여러 테이블 참조할 수 있는 관계를 배타관계선이라고 한다. 그리는 방법은 위에 배타관계 클릭해서 선끼리 연결하면 된다. 이렇게 표현은 하지만 사실 하나의 컬럼은 하나의 테이블만 참조할 수 있다 무결성 제약조건을 백프로 지켜서 넣어줄 수 없다. 물리적 모델에서는 둘다 부모로 가질 수 없기 때문에 이걸 대처하기 위해서 값을 잘 넣어야 한다. 2 둘다 확인해서 이게 위배되는지 확인 한 후에 값을 넣기 쿼리문 작성을 객체로서 저장해놓고 불러다 쓰기 지급처를 사원 부서 두개 컬럼으.. 2022. 3. 7.
[DB] 데이터 모델링 데이터베이스 릴레이션 , 엔티티= 테이블 동일한 데이터 베이스 안에는 같은 이름을 가지고있는 릴레이션은 존재할 수없다. 속성 = 릴레이션에서 rhksflgksmss rnp적인 정보 항목 추상화에서 field라고 생각하면됨 (한개의 행) 튜플 = 개체에 속한 구성원들 개개의 정보를 표현 후보키란 테이블에서 각 튜플을 구별하는데 사용되는 키 후보키중에 하나를 선택해서 튜플을 식벽하는데 쓰는것을 기본키 나머지는 대체키 모든 테이블에서 적어도 하나의 기본키가 존해한다. 복합키는 하나의 컬럼이 후보키의 역할을 하지 못하고 두개 이상의 컬럼이 합쳐져야 후보키의 역할을 하는 경우 외래키 상호 관련이 있는 테이블들 사이에서 데이터의 일관성을 보장해주는 수단이다. 외래키 제한, 연쇄, 널값으로 대체 현실세계 -> 개념적.. 2022. 3. 7.
Database(ORACLE) Database란? 💡 데이터를 저장하는 장소로서 한 조직에 필요한 정보를 여러 응용 시스템에서 공용할 수 있도록 논리적으로 연관된 데이터를 모으고, 중복되는 데이터를 최소화하여 구조적으로 통합/저장해 놓은 것 Database의 정의 운영 데이터(Operational Data) : 조직의 목적을 위해 사용되는 데이터 공용 데이터(Shared Data) : 공동으로 사용되는 데이터를 의미 통합 데이터(Integrated Data) : 중복을 최소화하여 중복으로 인한 데이터 불일치 현상 제거 저장 데이터(Stored Data) : 컴퓨터 저장 장치에 저장된 데이터를 의미 Database의 기능 데이터 추출(Retrieval) 사용자가 조회하는 데이터 혹은 응용 프로그램의 데이터를 추출함 ex) SELECT .. 2022. 3. 7.
[Oracle] DML-SELECT SELECT [PREDICATE] [테이블명.]속성명 [AS별칭][, [테이블명.]속성명, ...] [, 그룹함수(속성명) [AS 별칭]] [, Window함수 OVER (PARTITION BY 속성명1, 속성명2, ... ORDER BY 속성명3, 속성명4, ...}] FROM 테이블명[, 테이블명, ...] [WHERE 조건] [GROUP BY 속성명, 속성명, ...] [HAVING 조건] [ORDER BY 속성명 [ASC|DESC]; SELECT * FROM 사원; SELECT 사원 * FROM 사원; SELECT 이름, 부서, 생일, 주소, 기본급 FROM 사원; SELECT 사원.이름, 사원.부서, 사원.생일, 사원.주소, 사원.기본급 FROM 사원; SELECT DISTINCT 주소 FROM.. 2022. 3. 7.
[Oracle] PRIMARY KEY(기본키) 제약조건 PRIMARY KEY(기본키) 제약조건 : 테이블에서 한 행의 정보를 찾기 위해 사용하는 컬럼을 의미한다. 테이블에 대한 식별자 역할을 한다. NOT NULL + UNIQUE 제약조건의 의미 한 테이블당 한 개만 설정할 수 있음 컬럼 레벨, 테이블 레벨 둘 다 설정 가능함 한 개 컬럼에 설정할 수도 있고, 여러 개의 컬럼을 묶어서 설정할 수 있음 CREATE TABLE USER_PRIMARYKEY ( USER_NO NUMBER CONSTRAINT PK_USER_NO PRIMARY KEY, --컬럼 레벨 USER_ID VARCHAR2(20) UNIQUE, USER_PWD VARCHAR2(30) NOT NULL, USER_NAME VARCHAR2(30), GENDER VARCHAR2(10), PHONE VA.. 2022. 3. 7.
[Oracle] 테이블 생성 및 데이터 insert 크리에이트 테이블 생성 제약조건 제약조건은 테이블에 데이터를 집어 넣을 때 제약조건을 설정해서 null이나 중복값이 들어가지 않는 등. DDA(DATA DEFINITION LANGUAGE) : 데이터 정의 언어 객체(OBJECT)를 만들고(CREATE), 수정(ALTER)하고, 삭제(DROP)하는 구문 오라클에서의 객체 : 테이블(TABLE), 뷰(VIEW), 시퀀스(SEQUENCE), 인덱스(INDEX), 패키지(PACKAGE), 트리거(TRIGGER), 동의어(SYNONYM), 프로시져(PROCEDURE), 함수(FUNCTION), 사용자(USER) -- 테이블 만들기 -- CREATE TABLE 테이블명(컬럼명 자료형(크기), 컬럼명 자료형(크기), ...) CREATE TABLE MEMBER( M.. 2022. 3. 7.
[Oracle] subquery -- SUBQUERY(서브쿼리) -- 서브쿼리 : 쿼리문 안에 사용된 쿼리문 -- 사원명이 노옹철인 사람의 부서 조회 SELECT DEPT_CODE FROM EMPLOYEE WHERE EMP_NAME = '노옹철'; -- 부서코드가 D9인 직원을 조회 SELECT EMP_NAME FROM EMPLOYEE WHERE DEPT_CODE = 'D9'; -- 부서코드가 노옹철 사원과 같은 소속의 직원 명단 조회 SELECT EMP_NAME FROM EMPLOYEE WHERE DEPT_CODE = (SELECT DEPT_CODE FROM EMPLOYEE WHERE EMP_NAME = '노옹철'); -- 전 직원의 평균 급여보다 많은 급여를 받고 있는 직원의 -- 사번, 이름, 직급코드, 급여를 조회하세요 SELE.. 2022. 3. 7.
[Oracle] JOIN 테이블에 중복되는 값이 있음에도 나눠 놓는 이유 바이트 단위로 생각했을 때 더 적게 쓰임 중복값을 배제해서 데이터 이상현상 낮추는 효과 DAY_4 -- SELECT EMP_ID , EMP_NAME , DEPT_CODE , SALARY FROM EMPLOYEE WHERE DEPT_CODE = 'D5' UNION SELECT EMP_ID , EMP_NAME , DEPT_CODE , SALARY FROM EMPLOYEE WHERE SALARY > 3000000; -- UNION ALL : 여러 개의 쿼리 결과를 하나로 합치는 연산자 -- UNION과의 차이점은 중복 영역을 모두 포함시킨다. SELECT EMP_ID , EMP_NAME , DEPT_CODE , SALARY FROM EMPLOYEE WHERE D.. 2022. 3. 7.
[Oracle] GROUP BY & HAVING -- NVL(컬럼명, 바꿀값1, 바꿀값2) -- 해당 컬럼에 값이 있으면 바꿀값1로 변경, -- 해당 컬럼이 NULL이면 바꿀값2로 변경 -- 직원 정보에서 보너스 포인트가 NULL인 경우 직원은0.5로 -- 보너스 포인트가 NULL이 아닌 경우 0.7로 변경하여 조회 SELECT EMP_NAME , BONUSa , NVL2(BONUS, 0.7, 0.5) FROM EMPLOYEE; -- 선택함수 -- 여러 가지 경우에 선택할 수 있는 기능을 제공한다 -- DECODE(계산식 | 컬럼명, 조건값1, 선택값1, 조건값2, 선택값2, ...) SELECT EMP_ID , EMP_NAME , EMP_NO , DECODE(SUBSTR(EMP_NO, 8, 1), '1', '남', '2', '여') FROM EMPL.. 2022. 3. 7.
728x90
반응형
LIST