55,000원
다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결데이터베이스 중급(Modeling)
3정규화
3정규화용주문 테이블에주문번호상품번호상품명있으면 3정규화 대상으로 주문 테이블은주문번호상품번호 상품 테이블 따로 만들어서상품번호상품명 이렇게 따로 관리해야한다는거같은데용문제가요,상품명이 바뀌게 되면주문 테이블에 상품명도 바껴서예전에 주문했던 상품명이 달라져서 혼란스러울것같은데이런거는 3정규화 대상인가요정책에 따라서 달라지나요
- 미해결데이터베이스 중급(Modeling)
PK에 임의의 식별자(정수형 시퀀스값)부여에 관한 질문드립니다.
영상 마지막에 나온것처럼 PK에 해당하는 칼럼의 값을 프로그래머를 위해 넘겨주어야 한다고 말씀하신거처럼.클라이언트 화면에서는 임의의 식별자 데이터는 렌더링하지는 않지만 사용자(클라이언트 프로그램)가 어떤 데이터를 요청할 때 클라이언트는 해당 데이터(레코드)에 해당하는 PK의 값을 서버에 전달. 과 같은 방식일까요? 질문이 조금 매끄럽지가 않은것같아 좀 더 말해보면에로들어 도서 관리 DB의 도서(Book)테이블에 PK가 도서 번호(1,2,3,4..)이며 나머지 속성은 책 이름, 출판사 등의 속성을 가지고 있고, 책 테이블의 도서 번호를 참조한 자식 관계를 가진 대여 기록 테이블이 있을 때 사용자가 'RDBMS Modeling 기초'라는 책의 대여기록을 보고싶어서 해당 책이름을 클릭하면 내부 코드에서는 클라이언트 코드에서는 해당 책의 PK인 책번호를 서버에게 전달 후 서버는 해당 책번호를 통해 대여기록 테이블과 JOIN하여 클라이언트에 응답. 과 같은 방식이 일반적인지 궁금합니다
- 미해결데이터베이스 중급(Modeling)
강의자료 section 04 인덱스 및 최적화
강사님의 강의를 정말 감사하게 잘 듣고 질문이 생겨서 여쭈어보려고합니다.인강교재를 올려주셔서 이것을 토대로 들으면서비교도하면서 보고 블로그에 정리도 하려고 하는데 section 04 인덱스 및 최적화 라는 폴더가있고 안에 내용도 들어가있는데 강의에서는 이것에 대한설명과 이것에대한 설명이 왜 없는지 이유를 말씀을 안 해주신 것 같습니다. 만약 말씀을 해주셨는데 제가 못 찾은 것이라면 영상의 위치만 알려주시면 제가 강의를 다시 듣겠습니다
- 미해결데이터베이스 중급(Modeling)
json 구조의 데이터를 저장할 때 재귀 관계가 맞는 방법인지 궁금합니다.
선생님 안녕하세요. 테이블 설계 중 고민 중인 부분이 있어 강의 복습하다가 의견을 여쭙고자 질문드립니다.제가 하려는 것은json 구조로 내려오는 데이터를 key, value 모두 각각 저장하려고 합니다.구조를 예를 들면,{"resReferenceList": [{"resTriglyceride": "mg/dL","resALT": "U/L","resType": "단위","resSight": ""},{"resTriglyceride": "150미만","resALT": "35이하","resType": "정상(A)","resSight": ""}],"resResultList": [{"resQuestionInfo": "","resInfantsCheckupList": [ ],"resQuestionInfoList": [{"resSmokingList": [{"resPeriod": "","resType": "일반담배(궐련)"},{"resPeriod": "","resType": "궐련형 전자담배","resPeriod1": ""}],"resApplicableYN1": "0","resSmokingStatus": "0","resDiseaseHistoryList": [{"resApplicableYN": "0","resType": "0","resDisease": "뇌졸중(중풍)"},{"resApplicableYN": "0","resType": "0","resDisease": "심장병(심근경색/협심증)"}],"resApplicableYN": "0","resAlcoholAmtList": [{"resUnit": "병","resNumber": "0.5","resType": "평균","resType1": "소주"}]}],"resOriGinalData": "","resInfantsDentalList": [ ]},{"resQuestionInfo": "","resInfantsCheckupList": [ ],"resOriGinalData": "","resInfantsDentalList": [ ]}],"resCheckupTarget": "홍길동"} (json 구조가 잘 보이게 하고 싶은데 붙여넣기 하면 계속 이렇게 되네요ㅠ죄송합니다.)이렇게 Object 형태에 List 형태도 포함되어 있습니다.그런데 좀 더 까다로운게 위의 Object 가 [] List 에 담겨 여러개 나오는 경우도 있습니다. (이거까지 생각하면 복잡해서 일단 위 구조만 고려했습니다.)이러한 형태가 계속해서 테이블에 쌓이게 하려고 합니다.우선 트리 구조라고 생각했기 때문에 재귀 관계 테이블을 떠올려서 그렇게 작업을 하려고 했는데요.-Id (pk, auto increment)-부모테이블Id (fk, 위 데이터의 부모격인 메인 테이블이 있습니다. (1:M 관계))-상위Id(id 와 fk 관계, 재귀)-리스트 번호(Obejct 가 리스트로 같은 상위 id 에 포함될 수 있는데, 그러면 각 Object 묶음이 구분이 되어야 하므로 구분하기 위한 번호)-key_name-value이렇게 생각을 했는데 조회시 상당히 불편해서 다른 방법이 있을지 고민되어 질문드리게 되었습니다.단순히 데이터를 쌓고 통계를 위한 조회 정도로 사용할 예정입니다.위와 같은 데이터 구조의 key, value 를 모두 저장해야 할 때 재귀 관계를 사용하는게 최선인지 아니면 다른 고민해볼 포인트도 있는지 의견 여쭙고 싶습니다.감사합니다.
- 미해결데이터베이스 중급(Modeling)
M:N 관계 테이블의 상속형 PK 질문
안녕하세요, 선생님.M:N 관계 중 상속형 PK에 관해서 질문 드릴게 있는데요.제가 예전에 데이터베이스 수업을 들을 때 엔티티 자체적으로 식별자가 없어 다른 FK를 PK처럼 쓸때 해당 엔티티를 weak Entity라고 들었던 것 같은데요그러면 해당 내용에서 학생과 과목의 PK를 참조해서 PK로 사용하고 있는 수강이라는 테이블은 weak entity에 속하는 건가요?감사합니다.
- 미해결데이터베이스 중급(Modeling)
데이터를 넣으려고 하면 오류가 발생합니다.
이 테이블을 만들고 나서 데이터를 넣으려고 시도하면 오류가 발생합니다. sqlmysql> insert into 신부(신부명) values("김신부"); 오류 메세지Cannot add or update a child row: a foreign key constraint fails (`test2`.`신부`, CONSTRAINT 신부_FK FOREIGN KEY (`신부ID`) REFERENCES 신랑 (`신랑ID`)) 어떻게 하면 오류없이 데이터를 삽입할 수 있나요??
- 미해결데이터베이스 중급(Modeling)
두 FK를 묶어서 PK로 하는 경우에...
안녕하세요, 강사님.강의에서 '학생이 과목을 수강신청'하는 경우에는두 FK를 묶어서 PK로 사용할 것이 옳잖아요?그러면 학생과 수강신청은1:M 관계인가요? 1:1 관계인가요?
- 미해결데이터베이스 중급(Modeling)
SEQ auto increment
안녕하세요 강사님! 강의 재밌게 수강하고 있습니다.OpenLecture테이블에서 Seq를 auto Increment를 해주었더니 오류가 뜹니다.. 왜 그런건가요??
- 미해결데이터베이스 중급(Modeling)
사용하시는 프로그램
강사님 수업 잘듣고있습니다.감사합니다. 다름이아니라 실습하면서 강의를 들으려고하는데실습프로그램을 알수있을까요?
- 미해결데이터베이스 중급(Modeling)
28분 성별 테이블 유무에 관해 여쭤봅니다.
성별을 null 허용 이라고 하셨습니다.저렇게 할거같으면 성별 테이블을 아예 안만들거나아니면 만들거면 not null 로 지정하는게 맞지 않나 싶은데요.null 을 허용함으로써 오히려 생각해야 하는 경우의수가도리어 더 늘어나서 불필요해진것 같습니다. 성별을 null 허용 해준다는 부분에서그 근거로 " 우선 데이터를 지금 넣어야 된다. 남자인지여자인지 그건 구분하지말고 " 라는 상황이라고 하셨는데그럴꺼면 성별 컬럼을 아예 안드는게 낫지않나요? 아니면 굳이 성별이 컬럼이 필요하다면고객 테이블에주민등록번호라는 컬럼을 만들어두면암묵적으로 성별을 표현할 수 있는데굳이 성구분이라는 테이블을 또 만들어야 하는 이유가 궁금합니다.
- 미해결데이터베이스 중급(Modeling)
책구분 테이블 관련 질문드려요
안녕하세요. 강의 잘 듣고 있습니다.만약에 기본목록 테이블의 컬럼에 책구분 같은 항목이 많다면 각 테이블에서 해당하는 id를 알아야 기본목록 테이블에 항목을 생성 할 수 있을 듯 합니다.그러기 위해서는 select 호출이 여러번 필요로 할 것 같은데 그래도 반드시 그렇게 테이블 따로 두는게 맞을까요?답변 부탁드립니다.
- 미해결데이터베이스 중급(Modeling)
기준 테이블이라는 단어를 처음 사용하셨는데요 ㅜㅜ
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 지금 저 위의 캡처 이미지에서 '고객'을 기준 테이블 '주문'을 마스터 테이블이라고 말씀하셨습니다. 그런데 여기서 고객이 마스터 테이블이고 주문은 관계형 테이블로 존재하게 되지 않나요..?? 고객은 주문이 없어도 존재할 수 있지만 주문이라는 것은 상품이나 고객으로 다로 존재할 수 없기 때문에 관계형 테이블로 보이는데 제 생각이 틀린 것인지 궁금합니다 그리고 각각 기준 테이블(고객), 마스터 테이블(주문)이라고 설명하신 부분이 잘못 설명하신 게 아니라면 그 이유가 궁금합니다 감사합니다.
- 미해결데이터베이스 중급(Modeling)
데이터베이스 설계시 INT , TINYINT , SMALLINT 이런 걸 선택하는 게 중요한가요?
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 자바로 예를 들자면 옛날에는 최적화를 위해 float, int같은 작은 단위들을 최대한 고려했었는데 컴퓨터 성능의 향상과 네트워크 속도 향상 저장 공간의 비용 절감 등의 이유로 지금은 거의 조금이라도 애매하면 모두 long, double을 선언해버리고 쓰는 것으로 알고 있습니다 마찬가지로 데이터베이스에서도 현실적으로 몇 바이트를 아끼기 위해 TINYINT같은 타입들을 사용하는 것이 크게 중요하지는 않은 일인가요? 아니면 수백수천만의 저장 데이터들이 들어오기 때문에 이런 부분까지도 신경써줘야 하는 것인가요? 실무에 계신 분의 의견이 궁금합니다 그리고 별개의 이야기지만 제가 인프런에서 들은 강의 중 가장 만족스럽고 너무 귀에 쏙쏙 박히는 강의입니다. 좋은 강의 만들어주셔서 감사합니다!
- 해결됨데이터베이스 중급(Modeling)
1:M 과 M:N 선택 질문
안녕하세요. 강사님. 수업 잘 듣고 있습니다. 제가 고민하던 부분과 연결시키면서 수업 듣고 있었는데 아직 고민이 되어 의견을 여쭤보고 싶어 질문 드립니다. 상품 테이블은 이미 있고 그 상품을 검색하는 해시태그(#) 검색 기능을 추가하기 위한 테이블 추가가 필요합니다. 기능은 1) 해시태그로 해당 해시태그가 등록된 상품을 검색 가능해야 합니다. 2) 상품별 해시태그도 알 수 있어야 합니다. 테이블 구성이 1:M 과 M:N 중에 고민이 됩니다. 상품과 태그는 1:M 수업에서 예로 들어주셨던 책-목차 처럼 '상품별 태그' 로 표현 가능하고 선천적으로 부모 자식 관계 같기도 하면서, 비지니스 관계처럼 '태그로 상품을 검색한다.' 가 표현이 됩니다. 하나의 상품이 여러 해시태그를 가질 수 있고, 하나의 해시태그도 여러 상품에 해당될 수 있으니 M:N 이 더 맞다고 생각이 들고 이렇게 진행하려는데 1:M 도 가능하지 않나 라는 의문이 남아서요. 1 테이블이 상품 테이블이면 M 테이블에서 컬럼을 상품ID(FK,PK), 해시태그(PK) 두개로 하면 기능적으로 다 가능합니다. 이런 경우는 1:M, M:N 중에 어떤 것이 더 나은 방향인지를 선택하는 기준이 있을까요?
- 미해결데이터베이스 중급(Modeling)
기준테이블과 마스터테이블
앞선 강의에서 기준테이블과 마스터 테이블에 대한 개념을 설명하신 것 같습니다. 어느 강의에서 이 두 개념이 나왔는지 궁금합니다.
- 미해결데이터베이스 중급(Modeling)
1정규화 대상 추가질문
강의에서 1정규화 대상으로 대표적으로 아래 세가지를 자세히 설명해주셨습니다. - 다가속성 - 복합속성 - 유사속성반복 그 외로 '중첩릴레이션' 도 1정규화대상으로서 해당된다는 소개로 짧게 알려주셨는데요 '중첩릴레이션'의 구체적인 테이블구조를 알수있을까요? ('동일속성이 여러 테이블에 사용된 경우'는 짐작을 할 수 있습니다.)
- 미해결데이터베이스 중급(Modeling)
안녕하세요 선생님~
안녕하세요 선생님 매번 강의 잘보고있습니다! 궁금한게있어 질의드립니다. 예를들어) 유저테이블과, 게시판테이블, 공지사항 테이블이 있다고 가정을하고, 공지사항의 경우 유저테이블의 특정1인한명만(관리자) 글쓰기 수정 삭제가 가능하다고 가정을하였습니다. 유저테이블과 게시판테이블의경우 1:M의 관계를 맺으면될것같은데(유저 한명이 게시판에 여러개를 쓸수 있다) 유저테이블과 공지사항테이블의 경우에는 1:1의 관계를 맺어야할까요?(유저 중에 관리자만 해당 공지사항에 글 쓰기 수정삭제가 가능하므로 1:1?) 아니면 유저테이블중에 1인이라할지라도 공지사항테이블의 여러개의 글작성이가능하니 1:m관계를 맺어야할까요 이게 적절한 비유인지는 모르겠으나 궁금하여 질의드립니다!
- 미해결데이터베이스 중급(Modeling)
테이블명 칼럼을 조인할 때 어떻게 사용한다는 말씀이신지 이해가 되지 않습니다.
선생님 안녕하세요. 도서대출관리 연습문제 2 강의 37분 35초쯤에 기본 목록 테이블의 목록 ID = 논문정보 테이블의 세부정보 ID, 테이블명을 알기 때문에 조인이 된다고 하셨는데 혹시 어떤 식으로 쿼리를 작성하는지 보여주실 수 있으신가요? 테이블명이 조인에 어떻게 활용되는지 이해가 되지 않습니다.
- 미해결데이터베이스 중급(Modeling)
seq 칼럼을 pk로 주기에 아까운 이유가 무엇인가요?
강의에서 시스템 성능에 문제가 있을 수 있다고 말씀하셨는데 pk를 사용하면 오히려 빨라지는 것 아닌가요?
- 미해결데이터베이스 중급(Modeling)
useflag 사용하는 이유
반 테이블에 UseFlag 칼럼을 추가하는 이유가 궁금합니다. 강의에서는 다음과 같은 예시를 들었습니다. "작년에 7반을 사용했는데 올해는 7반을 사용하지 않는다면 UseFlag를 false로 하면 된다. 그러면 7반에는 학생을 받지 않고 작년에 7반에 있던 학생들 정보는 다 살아있다." 반 테이블는 아래와 같이 데이터가 쌓일텐데 2018년 1학년 1반 이교준 2019년 3학년 5반 이교준 2021년 1학년 1반 이교준 올해 7반을 사용하던 2022년 1학년 7반 이교준이 입력되면 되고 만약 7반을 사용 안 하면 아무런 데이터가 입력되지 않을 텐데 UseFlag를 사용할 일이 있나요? 혹시 UserFlag를 쿼리로 어떻게 사용하시는지 보여주실 수 있나요?