Daily/TIL(Today I Leared)

210409_TIL(Cmarket Database 마무리)

Judaeng 2021. 4. 12. 00:37

✅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 만들어보기