정규화 = 이상 현상이 발생하지 않도록, 릴레이션을 분해하는 과정 - 릴레이션을 관련 있는 속성들로만 구성 - 관련 없는 함수 종속성은 별개의 릴레이션으로 표현 - 함수적 종속성을 판단하여 정규화 함수적 종속성 (FD, Functional Dependency) - 릴레이션 내 모든 투플에서 하나의 속성(X)가 다른 속성(Y)을 결정함 X -> Y 로 표현 (X = 결정자 / Y = 종속자) - X값에 따라 Y값이 정해지는 것! 기본 정규형 제 1정규형 (1NF) = 릴레이션에 속한 모든 속성이 원자 값을 가져야함 - 제 1정규형을 만족해야 관계 데이터베이스의 릴레이션이 됨 (관계 db는 다중값 허용X) - 제 1정규형 만족함에도 이상 현상이 발생하는 이유: 기본키에 완전 함수 종속되지 못한 속성이 있기..
모든 글

관계형 데이터베이스 설계 순서 각 순서의 산출물 = 괄호 1. 요구사항 분석 (요구사항 명세서) 2. 개념적 설계 (E-R 다이어그램) 3. 논리적 설계 (릴레이션 스키마) 4. 물리적 설계 (물리적 스키마) 5. 구현 (데이터베이스 생성) 사용자가 마주하는 UI 와 데이터베이스는 원인과 결과의 관계. 그렇기 때문에 기획자와 개발자가 데이터 모델링까지는 함께 가는 것이 이상적. 개념적 설계 1) Entity 개체, Property 속성, 키 속성 선별 - 요구사항 명세서에서 명사로 찾기! - 개체와 속성을 선별하였는데 키 속성이 될 수 있는게 없다면 만들면 됨. (00 아이디) 2) 개체 간 관계 결정 - 요구사항 명세서에서 동사로찾기! - Cardinality (매핑 카디널리티) : 1:1 / 1:n ..

1. Mysql 다운 터미널 접속 brew 입력 brew install mysql 입력 mysql.server start 입력 후 success 뜬다면 성공 2. 실행방법 - 터미널 터미널 접속 mysql -u root -p 입력 (root는 사용자, p는 비밀번호 의미) 비밀번호 입력하면 mysql 실행됨 -------------------------------- 스크립트를 실행하고 싶은 경우 : mysql -u root -p 입력하기 전에 스크립트 파일이 있는 폴더로 먼저 이동 (cd 폴더명 하면 이동됨) mysql 실행 source 파일명.sql; (실행하고싶은 스크립트 파일) 입력하면 실행됨 2. 실행방법 - VS code 1) extensions 들어가서 mysql 입력 후 다운받기 (사진 3번..

함수 Function 함수 = 수납상자 코드를 잘 정리정돈 하기 위한 도구 중 하나 (객체도 있음) Parameter & Argument 매개변수와 인자 함수는 입력과 출력으로 이루어짐 입력 - paremeter, argument / 출력 - return sum(2,3) 의 2,3 =Argument 인자 function sum(x,y)의 x,y = parameter 매개변수 Return 출력 return = 함수의 결과값을 돌려줌 출력까지 하지 않고 결과값을 돌려주기만 하기때문에 이렇게 색을 바꾼다든지 폰트 크기를 바꾼다든지, 함수를 다양한 용도로 활용할 수 있음. 함수의 활용 함수를 통해 코드 리팩토링! 코드를 nightDayHandler라는 함수로 정의하고 head 안에 넣고 밑에 body에서 함수를..

이번 시간에는 코딩을 시작했다~ 페이지가 총 8개라 두개씩 분담해서 작업하기로 했다. 분담 후에는 모든 페이지에 공통적으로 들어가는 요소인 네비게이션 바를 같이 제작해보았다.저번 시간 만들어놨던 깃허브 저장소에 서로 푸시 풀 해가며 작업해보면서 깃허브 사용이 좀 더 익숙해진 것 같다. HTML 코드 EWHADULE 강의실 시간표 수강신청 CSS 코드 @import url('https://fonts.googleapis.com/css2?family=Kumar+One&display=swap'); @font-face { font-family: 'NanumSquareNeo-Variable'; src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_11-01@..

이번 시간에는 간단하게 디자인 해놨던 UI를 거의 완성하였다. 전체적으로 배경은 이화그린, 텍스트 색상은 하얀색으로 하였다. 메인화면은 낮 시간, 저녁 시간의 캠퍼스 사진으로 하여 시간에 따라 다르게 보이게 할 것이다. 시간표에 마우스오버했을 때 로컬 내비게이션 전체가 다 보이는 방식으로 디자인했다. 특정 페이지에 들어있을 때 내비게이션 바는 이렇게 표현할 예정이다. 강의실 페이지 시간표 페이지 전공별 교과과정 페이지는 iframe 을 사용하여 학교 홈페이지에 전공별 교과과정 보는 페이지를 넣을 것이다. 필수교양정보 페이지에서는 각자 단과대학을 고르면 이수해야하는 필수교양에 대한 정보를 정리하여 보여준다. 수강신청 페이지 시간표를 만들 때 유용하게 사용할 수 있는 에브리타임의 마법사 기능을 활용하고 있지..

클라우드에서 개발하기 깃허브 코드스페이스 = 개발 환경을 온라인으로 옮겨 놓은 것 > 사용 컴퓨터를 바꿔도 프로그램을 설치하고 옵션을 다시 조정할 필요가 없게 됨 (유료 기능으로 한달에 120시간까지만 무료) 레포지토리에서 들어가서 code > crete codepsace of master 를 눌러코드스페이스 생성 vs code 편집기가 웹브라우저 창에서 실행된다 확장자 설치, 소스 수정, 저장, 푸시 풀 모두 가능 깃허브 데브 = 웹브라우저에서 작동하는 vs code > 개발 환경에 설정된 개인 컴퓨터를 항상 다니고 가지지 않아도 인터넷 접속만 가능하다면 외부 컴퓨터로 개발 가능 (코드 스페이스는 유료 기능, 깃허브 데브는 무료 기능) 레포지토리에 들어와 키보드에서 .을 누르면 깃허브 데브 실행 깃허브..

깃허브 페이지 - 정적인 사이트이기 때문에 이력서 사이트로 적합하다 주어진 예제 이력서 파일로 실습 진행할 예정 저장소 복제하기 FORK 다른 사람의 저장소에 있는 파일을 직접 수정하면 안된다. 자신의 저장소로 복헤한 수 수정하는 것이 Fork 수정한 후 원래 소스 작성자에게 pull request 가능 지역 저장소로 복제하기 CLONE 깃허브 저장소에 있는 파일을 사용자 컴퓨터 (지역 저장소)로 복제해야 한다. clone git repository -> 포크한 깃허브 저장소 주소 입력 프로필 사진과 이력서 이름을 바꿔보았다. 변경 사항 커밋하기 + 버튼을 눌러 스테이징 -> 커밋 메시지 입력하고 커밋 누르기 깃허브에 방금 푸시한 커밋이 올라와 있다 원격 저장소를 페이지로 전환하기 깃허브의 페이지page..

이번 시간에는 협업을 위해 팀원들 깃허브를 연결하는 시간을 가졌다. 팀장이 저장소를 만들고 나머지 팀원이 포크를 해서 각자 저장소로 파일을 복제를 하였다. 이후 vs code 를 실행하여 clone repository 클릭 후 포크된 깃허브 저장소 주소를 복붙하면 연결이 완료된다. 이렇게 vs code 에서 수정사항을 만들면 자동으로 왼쪽 소스제어 창에 1표시가 뜨면서 하나의 수정사항이 생겼다는 것을 알려준다. + 를 눌러 스테이징 해주고 메시지 입력후 커밋을 눌러주면 커밋이 된다 커밋 후 푸시를 해주면 깃허브에 수정사항이 올라온 것을 확인 가능하다 . pull request를 눌러 원래 소스 작성자 (팀장) 에게 수정사항을 전달하고, 팀장이 Merge 하면 수정사항이 합쳐지는 방식으로 충돌없이 협업할 ..

아이디어 우리 팀이 구상한 웹사이트는 이대생들이 시간표를 짜고 수강신청을 하기 위해 알아야 하는 정보들을 모아놓은 웹사이트이다. 새내기 시절에 첫 수강신청에 앞서 시간표를 짜는 것이 너무 어려웠던 기억이 있었다. 필수교양은 어떤 걸 들어야하는지, 졸업하기 위해 전공은 얼마나 들어야 하는지, 시간표를 짜기 위해 알아야 할 정보는 너무 많은데 그 정보들이 다 흩어져 있어서 정보를 모으는 데에만 너무 많은 시간이 걸렸다. 시간표를 짜고 수강신청을 하기까지 알아야 하는 정보들을 하나의 웹사이트에 모아놓는다면 이러한 불편함이 해결될 것이라고 생각했다. 디자인 디자인은 피그마를 이용해 팀원 다같이 진행했다. 간단하게 작성한 IA 간단하게 디자인한 화면 아직 과정중이라 대충 아이디어만 구체화한 정도로 디자인했다. 이..