210409_TIL(Cmarket Database 마무리)
✅Toy 문제 19번 LPS(Logest Prefix & Suffix)
LPS(Longest Prefix which is also Suffix)는 주어진 문자열의 가장 긴 접두어이자 접미어의 길이를 찾아 내는 알고리즘이다.
non-overlapping(접두어와 접미어가 겹치치 않아야 함) 규칙을 적용하여 알고리즘을 풀었다.
정규 표현식을 쓰면 짧게 두 줄로 통과가 된다🤯
정규식은 너무너무 어렵다...
공부를 하고 블로그에 따로 정리하거나 그래야될 것 같다.
그리고 이 문제를 찾아보던 중 KMP 알고리즘을 알게 되었는데 이 알고리즘은 DNA 염기서열 시퀀싱 문제라고 한다.
LPS 문제를 이 KMP 알고리즘을 이용해 푼다고 한다.
아래 사진은 나중에 봐도 대충이라도 이해하기위해 참조해놓는다😥
✅Cmarket-Database 마무리
쇼핑몰의 데이터베이스를 구축하는 스프린트이다.
3티어 아키텍쳐를 이해할 수 있었다.
SQL로 데이터베이스를 생성하고, 입력, 삭제, 조회하는 방법도 연습할 수 있었다.
Cmarket DB를 생성해 스키마를 확인하고 여러가지 방법을 확인하고 연습할 수 있었던 시간이였다.
✅Vanilla-Redux
주말동안 연습해볼려고 만든 레포인데, 게으름이 정신을 지배해버렸다.
그래서 Vanilla Counter 정도 만들고 마무리했다.
🍒Remember
✅SQL 종류
DDL(Data Definition Language) :
DDL 은 데이터를 정의할 때 사용되는 언어를 가리킨다.
예를 들어 테이블을 만들 때 사용하는 CREATE 이나 테이블을 제거할 때 사용되는 DROP 등 이다.
ex) CREATE, ALTER, DROP, RENAME
데이터베이스의 테이블과 같은 오브젝트를 정의할 때 사용된다.
DML(Data Manipulation Language) :
DML 은 데이터베이스에 데이터를 저장할 때 사용되는 언어를 가리킨다.
예를 들어 INSERT 처럼 새로운 레코드를 추가할 때 사용되는 문법들이 포함된다.
따라서 데이터를 삭제하는 DELETE 라든가 변경하는 UPDATE 등이 여기에 포함된다.
ex) INSERT, UPDATE, DELETE, SELECT
DCL(Data Control Language) :
DCL 은 데이터베이스에 대한 접근 권한과 관련된 문법이다.
어느 유저가 데이터베이스에 접근할 수 있는지 권한을 설정하거나 없애는 역할이죠. 예를 들어 권한을 주는 GRANT 나 권한을 가져가는 REVOKE 등이 포함됩니다.
DQL(Data Query Language) :
DQL 은 정해진 스키마 내에서 쿼리를 할 수 있는 언어이다.
여기에 포함된 문법은 SELECT 정도가 있다.
물론 이렇게 따로 언어가 분류되지만 DQL 을 DML 의 일부분으로 말하곤 한다.
TCL(Transaction Control Language) :
TCL 은 DML 을 거친 데이터 변경사항을 수정할 수 있다.
예를 들어 COMMIT 처럼 DML 이 작업한 내용을 데이터베이스에 커밋하거나 ROLLBACK 처럼 커밋했던 내용을 다시 롤백하는 문법들이 있다.
🍒More Study
✅CASE문
✅Redux ToDoList 만들어보기