Database(44)
-
Day39 - 데이터 모델링
이번에는 데이터 모델링에 대해서 알아 보겠습니다. 데이터 모델링 데이터 모델링은, 데이터베이스를 만들기 전에 이론적으로 수행하는 걸 말하는데요. 업무파악 -> 개념적 데이터 모델링 -> 논리적 데이터 모델링 -> 물리적 데이터 모델링 의 절차를 가집니다. 업무파악 업무파악은, 앞으로 내가 할 일이 무엇인가? 에 대한 개념 입니다. 어떠한 업무를 시작하기 전에, 해당하는 업무에 대해서 파악하는 단계 입니다. 개념적 데이터 모델링 개념적 데이터 모델링은, 내가 하고자 하는 일의 데이터를 구상하는 단계 입니다. 그리고 그 데이터들 간의 관계를 구상하는 단계 입니다. 개념적 데이터 모델링을 설계할 때는 대표적으로 ER 다이어그램 이 있습니다. 논리적 데이터 모델링 논리터젝 데이터 모델링은, 개념적 데이터 모델링..
2021.04.12 -
Day39 - 권한, 사용자 계정 생성, 수정, 삭제
이번에는 권한에 대해서 알아 봅시다. 권한 데이터베이스에서 권한이란 무엇일까요? 바로. 테이블을 생성, 수정, 삭제 등등을 할 수 있는 권한 인데요. 처음에 oracle 데이터베이스 서버에 접속했던 걸 기억 하시나요? 그 때, 저희는 sys라는 계정을 통해서 CDB, PDB 를 만들고 연습용 계정 hr 을 만들었었죠? 왜 이렇게 번거롭게 했었나요? 그 이유는... sys는 최상위 계정이기 때문에 모든 데이터에 접근 할 수 있고 삭제할 수도 있기 때문에, 데이터의 안전성을 위해서 원본 데이터베이스인 CDB 에서 복사본 데이터베이스 PDB 를 만들고, 권한이 분할된 hr 계정을 만든 겁니다. hr이라는 계정은 orcle 에서 연습하라고 미리 만들어 놓은 것 입니다. 이번에는 저희가 직접 계정을 만들어 보고,..
2021.04.09 -
Day38 - Quiz를 풀어 봅시다
문제 1. -다음과 같은 테이블을 생성하고 데이터를 insert하세요 (커밋) -조건) M_NAME 는 가변문자형, 널값을 허용하지 않음 -조건) M_NUM 은 숫자형, 이름(mem_memnum_pk) primary key -조건) REG_DATE 는 날짜형, 널값을 허용하지 않음, 이름:(mem_regdate_uk) UNIQUE키 -조건) GENDER 가변문자형 -조건) LOCA 숫자형, 이름:(mem_loca_loc_locid_fk) foreign key ? 참조 locations테이블(location_id) 문제 2. -MEMBERS테이블과 LOCATIONS테이블을 INNER JOIN 하고 m_name, m_Num, street_address, location_id컬럼만 조회 -m_num기준으로 오..
2021.04.08 -
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 - 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