sqldeveloper(28)
-
Day38 - index
이번에는 index에 대해 알아 봅시다 index index 는 데이터베이스 내에서 원하는 레코드(행)를 빠르게 찾을 수 있도록 만들어진 데이터 구조 입니다. index 는 primary key, unique 제약조건을 사용할 때 자동으로 생성되고, 또는 수동으로 직접 생성할 수 있습니다. index 는 인덱스를 저장하는 추가적인 공간을 가지고 생성되고, 조회를 빠르게 합니다. 다만 추가,수정,삭제 가 빈번하게 일어나는 컬럼에 적용하면 오히려 성능부하를 일으킬 수 있습니다. 즉. index 는 조회를 빠르게 해줍니다. 기본키(PK) , 유니크키(unique) 를 생성할 경우, 자동 생성이 됩니다. 만약 어떤 데이터베이스의 성능이 좋지 않다면, 조회를 index 기준으로 해주었는지 확인 해주어야 합니다. ..
2021.04.08 -
Day38 - view
이번에는 view 에 대해서 알아 봅시다 ~ view view는 하나의 가상테이블 이라고 생각하시면 되겠습니다. 원본 테이블이 있고, 이 원본 테이블을 그대로 가상테이블로 만들어도 되고, 가위로 필요한 부분만 싹뚝싹뚝 잘라내서 가상테이블로 만들어도 됩니다. view는 원본 테이블의 필요한 부분을 싹뚝싹뚝 잘라내서, 그 테이블을 가지고 계속 뭔가를 하고 싶을 때 ! 이럴때, 많이 사용합니다. view는 조회에 이점을 가집니다. 뷰를 이용해서 데이터에 접근하면 원본데이터는 안전하게 보호할 수 있습니다. 뷰는 계정에 생성권한이 있어야 만들 수 있습니다. ※ 사용자 권한 확인 GRANTED_ROLE 에 나와있는 걸 보면 되는데, resourece는 거의 다 되는거라고 보면 됩니다 단순뷰 단순뷰는 원본 테이블이 ..
2021.04.08 -
Day37 - DDL (테이블 생성, 테이블 변경, 테이블 삭제)
이번에는 DDL에 대해서 알아 봅시다. DDL ( Data Definition Language ) 테이블과 같은 데이터 구조를 정의하는데 사용하는 명령어 TCL 을 적용할 수 없다. ( COMMIT , ROLLBACK ) CREATE TABLE CREATE TABLE 는 테이블을 생성할 때 사용합니다. ALTER TABLE ALTER TABLE 은 만들어진 테이블을 변경할 때 사용합니다. 열 추가 -> ALTER TABLE 테이블명 ADD (속성명 유형(길이)) 열 이름변경 -> ALTER TABLE 테이블명 RENAME COLUMN 테이블명 TO 변경할 테이블명 열 수정 -> ALTER TABLE 테이블명 MODIFY (속성명 변경할유형(길이)) 길이를 늘리는건 항상 가능하지만, 길이를 줄일 때는, 데..
2021.04.07 -
Day37 - TCL ( COMMIT, ROLLBACK, SAVEPOINT)
이번에는 DCL 문에 대해서 알아 봅시다 TCL ( Transaction Control Language ) DML에 의해 조작된 데이터의 작업단위(트랜잭션) 별로 제어하는 명령어 DML ( INSERT , UPDATE , DELETE ...) 을 사용하면 데이터를 추가하거나 변경하거나 삭제하는게 가능한데, 실제로 이러한 행동들을 모아서 묶어놓은 작업의 단위를 트랜잭션 이라고 합니다. 트랜잭션은 실제로 데이터들을 데이터베이스에 저장하는 게 아니라, 가지고만 있습니다. 그래서, 실제 데이터베이스에 값을 저장하기 위해서 COMMIT을 해주어야 합니다. ※ 자동 COMMIT 이 되는 경우. 1. SET AUTOCOMMIT ON 2. COMMIT or ROLLBACK 3. DCL 사용 4. 사용자가 SQL PLU..
2021.04.07 -
Day37 - Quiz를 풀어 봅시다
문제 1. -DEPTS테이블의 다음을 추가하세요 문제 2. -DEPTS테이블의 데이터를 수정합니다 1. department_name 이 IT Support 인 데이터의 department_name을 IT bank로 변경 2. department_id가 290인 데이터의 manager_id를 301로 변경 3. department_name이 IT Helpdesk인 데이터의 부서명을 IT Help로 , 매니저아이디를 303으로, 지역아이디를 1800으로 변경하세요 4. DEPARTMENT_ID 가 290, 300, 310, 320 인 매니저아이디를 301로 한번에 변경하세요. 문제 3. -삭제의 조건은 항상 primary key로 합니다, 여기서 primary key는 department_id라고 가정합니다..
2021.04.07 -
Day37 - 테이블 병합.MERGE
이번에는 MERGE 에 대해서 알아 봅시다. MERGE merge 는 대상이 되는 테이블을 병합시키는데 사용이 됩니다. 즉. merge 의 대상이 되는 테이블을 A라고 하고, 병합시킬 테이블을 B하고 한다면 B테이블을 가지고 추가,수정,업데이트,삭제 등의 DML문을 사용하고, A라는 테이블에는 B테이블이 가지고 있는 데이터만 추가하는 그런 기능 입니다. -------원형-------- MERGE INTO 타겟 엘리어스 USING (병합시킬 테이블의 데이터) ON (두 테이블의 연결 조건) WHEN MATCHED THEN (일치할 경우 수행할 작업) WHEN NOT MATCHED THEN (일치하지 않을 경우 수행할 작업) -------------------- 먼저, 확인을 위해서 타겟이 될 테이블을 만들..
2021.04.07