카테고리 없음

5.3

문앵 2021. 5. 4. 09:13

------------1교시-------------

씨퀄라이져

사용하는 이유? 왜 필요한지?

씨퀄라이져가 뭔가?

(책내용 읽어주심 씨퀄라이즈는 어쩌구~~~~~)

=> 데이터베이스도 결국 하나의 객체라고 생각하고 만든게 오알엠이다. 

에스큐엘 쿼리문들을 객체안에 들어간 내용을 뽑아내는 것들이 오알엠의 기본 핵심이라고 합니당

데이터를 객체로 표현하는게 오알엠. 

(물론 에스큐엘을 모르는채로 씨퀄라이즈를 사용하는걸 권장하지는 않습니다.)

 

324p - 관계 정의하기

 

모라구요 선생님?? 잠깐 딴생각 하느라 못들었어요 젠장

 

데이터베이스 스키마 ~~ 머리에 바로 떠올릴수있는 사람이 참된 개발자여

근데 종류가 갱장히 많아여 

 

오미희씨는 게시판에 카테고리 기능을 넣더라구요. 구현이 완료가 되었나요? - 안되었다고 합니다.

 

게시판을 예시로 한번 들어보겠슴당.. 

idx/ subject/ board__name/ content/ today/ hit 

1/ 공지사항/ 관리자/ 냉무/ 05월 03일/ 0

2/ nodejs/ 제로초/ 냉무/ 05월03일/ 5

게시판에 댓글 다는 기능 있는데 그거 어떻게 하는 지 생각해보신분?? 이거는

게시판 안에 게시판이 있다고 생각해야 함.

공지사항에 들어가야지만 공지사항에 해당되는 댓글들이 존재하잖음? 

2번에 댓글 달았는데 1번 들어가면 보이나요? 안보입니다. 

 

테이블 명을 comment라고 새로 하나 만듭니다. 

idx/ FK/ comment__name/ comment_content/ today

1/ 1/ 곽인구/ 넵/ 0

2/ 1/ 곽인구/ 넵/ 0

3/ 1/ 곽인구/ 넵/ 0

4/ 1/ 곽인구/ 넵/ 0

 

1:n 의관계 - 하나의 게시판에 여러개의 댓글이 들어가는 것 

근데 댓글에도 시간이 들어가야될것같은데..?

 

FK- 폴링키 라고 합니다. 한글말로는 외래키 .

선생님은 이걸 이해하실 때 "이전 idx값", "내가 참조할 값" 이라고 이해를 하셨다고 함.

 

예를 들어 user 라는 테이블을 만들고 필드명을

취미/ 성별/ 생일/ 최종학력/ ... 등등 써놓고 맨앞에 fk 필드 하나 생성해준다. 

 

-----------------------2교시----------------------------

선생님이 지금 뭘 하고 계신지 모르겠어요.....

이게 n:m이라고 하는데 

feed 에서는 feed tag 애들을 가져오고(idx로), feed tag에서는 tag의 idx를 참조(요게 1:n 인가봄)해서 가져옵니다. 

 

 

이제 데이터베이스 스키마를 만든다고 합니다. 그러기 위해선 화면정의를 해야합니다. 화면정의는 기획의 영역인데 이걸 알려주지는 않습니다. 그너느 개발자 머리에 그려져있어야 한다고 하는데..!?

 

이런 개괄적인 구조를 짜는것을 화면정의라고 하는데, 이것은 기획자가 짜주긴 하지만 개발자는 이걸 머릿속에서 생각하면서 데이터 스키마를 짜봐야 함. 

 

오늘은 새로운 기능을 추가해볼까 함. 예를 들어 댓글을 넣어본다던지, 카테고리를 넣어본다던지 

일단 그림으로 화면정의부터 해보고-> 스키마를 짜보고-> 코드를 짜는것을 해봅시다. 

큰 그림을 잘 짜는 것이 중요합니다. 

 

소회의실을 열어서 3명이 같이 화면정의를 해보려 합니다.. 근데 좀 진행이 늦어져서..

담교시에 계속..

 

-------------------------------------- 5교시.. 자다 깸..

 

select  A.~ , B.~@ from @ as A join as B on 

조인문이라고 알려주셨는데 이게 뭘까.. 정확히 모르겠당.. 

데이터를 한번 넣어보라는것 같은뎅..

목적을 알고 공부하는게 중요함~

userid만 가지고 username을 가져오는게 목적! 

두개가 같이 들어있는 테이블을 어디지? 바로 user 테이블! 이걸 이용하자

userid는 boardtb에 있지.

즉 boardtb에 있는 userid랑 usertb에 있는 userid랑 같은 ! idx에 있는 username을 가져오면 되는것.

셀렉트문과 조인문을 활용해서~

select * from boardtb(가져올 테이블 명) as A => 이거는 테이블 명이 너무 기니까

일일히 써주지 않으려고 그냥 바꿔주는거임

join userid as B on A.userid = B.userid => where문 말고 on을 이용

여기까지 이제 userid가 같은 것들을 뽑아온것

 

 

이제 그 userid 들의 username을 가져와야 함

 

반응형