본문 바로가기

프로그래밍 언어/MySQL

[SQLD} 과목2, 제 1장 SQL기본 SQL 문장들의 종류 (테이블 삽입 필요) 명령어의 종류: .. DDL: CREATE, DROP, ALTER, RENAME DML: SELECT, INSERT, UPDATE, DELETE DCL: GRANT, REVOKE TCL: COMMIT, ROLLBACK 테이블 칼럼에 대한 정의 변경 - [Oracle] ALTER TABLE 테이블명 MODIFY (칼럼명1 데이터 유형 [DEFAULT 식] [NOT NULL], 컬럼명2 데이터 유형…); - [SQL server] ALTER TABLE 테이블명 ALTER (칼럼명1 데이터 유형 [DEFAULT 식] [NOT NULL], 컬럼명2 데이터 유형…); NULL(ASCII코드 00번)은 공백(BLANK, ASCII 코드 32번)이나 숫자 0(ZERO,ASC.. 더보기
[SQLD] 1. 데이터 모델링의 이해: 2. 데이터 모델과 성능 과목1. 데이터 모델링의 이해 제 2장 데이터 모델과 성능 성능 데이터 모델링이란? 데이터베이스 성능향상을 목적으로 설계단계의 데이터 모델링 때부터 성능과 관련된 사항이 데이터 모델링에 반영될 수 있도록 하는 것이다. 중복속성에 대한 분리가 1차 정규화의 대상이 되며, 로우단위의 중복도 1차 정규화의 대상이 되지만 칼럼 단위로 중복이 되는 경우도 1차 정규화의 대상이다. 정규화: 이상현상이 있는 테이블을 분해하여 이상현상을 없애는 과정. 정규화의 기본 목표는 테이블 간에 중복된 데이터를 허용하지 않는다는 것. 그로인해 무결성(Integrity)를 유지할 수 있으며, DB의 저장 용량 역시 줄일 수 있다. 데이터 모델링 단계에서 성능을 충분히 고려하기 위한 성능 데이터 모델링 수행 절차 1. 데이터모델링을.. 더보기
[SQLD] 1. 데이터 모델링의 이해: 1. 데이터 모델링의 이해 과목1. 데이터 모델링의 이해 제1장 데이터 모델링의 이해 발생시점에 따른 엔터티 분류 - 기본/키엔터티(Fundamental Entity) - 중심엔터티(Main Entity) - 행위엔터티(Active Entity) 데이터모델링이란 - 정보시스템을 구축하기 위한 데이터 관점의 업무 분석 기법 - 현실 세계의 데이터(what)에 대해 약속된 표기법에 의해 표현하는 과정 - 데이터베이스를 구축하기 위한 분석/설계의 과정 데이터 모델링의 유의점 - 중복(Duplication): 데이터베이스가 여러 장소에 같은 정보를 저장하는 잘못을 하지 않도록 한다. - 비유연성(Inflexibility): 데이터의 정의를 데이터의 사용 프로세스와 분리함으로써 데이터 모델링은 데이터 혹은 프로세스의 작은 변화가 애플리케이.. 더보기
[MySQL] 다중 정렬, 정렬기준 2가지 이상일 때: order by 해당 테이블에서, 기본적으로 id순으로 정이 되어있다. 하나의 정렬은 order by를 사용한다. 레시피 이름(컬럼명: name)대로 정렬을 해서 보려면 코드는 하기와 같다. select * from recipe order by name; 짧은 조리시간(cook_time이 적은 순)부터 보고싶다. 그리고, 이름순으로 정렬하고싶다. 하면 하기 코드처럼 해보자 -> 첫번째 정렬 조건이 cook_time순, 그리고 그 중에서 이름 순으로 정렬 select * from recipe order by cook_time, name; 데이터가 큰 순(즉, 반대로) 정렬을 하고 싶으면: DESC 명령어를 사용한다. select * from recipe order by cook_time desc, name; 더보기
[MySQL] 실습: 영화2 use movie_app_db; insert into user (email, password, name, gender) values ('qqq2naver.com','1234','Mike',1); -- 여자는 0, 남자는 1 실습에서 사용할 데이터 입력 -- movie insert 데이터 : https://yeo0616.tistory.com/122 -- user insert 데이터 : https://yeo0616.tistory.com/123 -- review insert 데이터 : https://yeo0616.tistory.com/124 문제: -- 1. 하트 눌러서, 즐겨찾기에 저장하는 SQL -- 2. 다시 하트 누르면, 즐겨찾기에서 삭제하는 SQL -- 3. 내 즐겨찾기 리스트 가져오는 SQL (9 .. 더보기
[MySQL] 문자열 빨리 찾기: fulltext, 실습: 영화1 movie_app_db 스키마 생성 -> movie 테이블 생성 -> user 테이블 update 컬럼 -> default: now() on update now() 문자열 빨리 찾기: fulltext - 테이블 속성 하단에 index컬럼에서, 타입 fulltext 선택 - 적용할 컬럼 선택 -> 해당컬럼에서 문자열을 찾을 때, 더 빨리 찾을 수 있게한다. ( like를 적용할 컬럼) use movie_app_db; insert into user (email, password, name, gender) values ('qqq2naver.com','1234','Mike',1); -- 여자는 0, 남자는 1 실습에서 사용할 데이터 입력 -- movie insert 데이터 : https://yeo0616.tis.. 더보기
[MySQL] 실습: 일정 스키마 생성: memo_app_dn 테이블 생성: 테이블명 컬럼 users id email password name created_at memo id user_id content todo_date is_completed follow id follower_id followee_id created_at use memo_app_db; select * from user; insert into user (email, password, name) values ('abc@naver.com','ttnn1111','sally'); insert into memo (user_id, content, todo_date) values (1,'김밥 먹으러 가자', '2022-05-20 11:45') (2,'커피 마시면서 놀기', .. 더보기
[MySQL] 실습: 좋아요 -- insert 값 : https://yeo0616.tistory.com/121 테이블 설정 후에 차례대로 실행하는 것이 중요 (foreign key 설정 영향) users 테이블 생성 및 설정 -> photos 테이블 -> follows 테이블 -> comments 테이블 -> likes 테이블 -> tags 테이블 -> photo_tags 테이블 use yh_db; 테이블명 컬럼 users id username created_at photos id image_url user_id created_at follows id follower_id followee_id created_at comments id user_id photo_id comment_text created_at likes id user_.. 더보기