728x90
반응형

CS/데이터베이스 14

[SQL] 프로그래머스 : 즐겨찾기가 가장 많은 식당 정보 출력하기

https://school.programmers.co.kr/learn/courses/30/lessons/131123 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 음식종류별로 즐겨찾기 수가 가장 많은 식당의 정보를 출력하는 문제이다. 음식종류별 → Group By를 통해 같은 음식 종류는 그룹화해준다. 즐겨찾기 수가 가장 많은 → MAX Method를 통해 최대값 추출 주의할 점, group by를 통해 그룹화한 후, max를 이용하여 최대값만 추출한다면 가장 많은 즐겨찾기 수 값을 출력할 수 있겠지만 그에 해당하는 그 외 정보들은 출력할 수 없다. 따라..

[SQL] 프로그래머스 : 입양 시간 구하기(2)

https://school.programmers.co.kr/learn/courses/30/lessons/59413 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 ANIMAL_OUTS 테이블은 동물 보호소에서 입양 보낸 동물의 정보를 담은 테이블입니다. ANIMAL_OUTS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, NAME, SEX_UPON_OUTCOME는 각각 동물의 아이디, 생물 종, 입양일, 이름, 성별 및 중성화 여부를 나타냅니다. NAMETYPENULLABLE ANIMAL_ID VARCH..

SQL - 날짜 관련 함수

https://school.programmers.co.kr/learn/courses/30/lessons/59412?language=mysql 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 ANIMAL_OUTS 테이블은 동물 보호소에서 입양 보낸 동물의 정보를 담은 테이블입니다. ANIMAL_OUTS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, NAME, SEX_UPON_OUTCOME는 각각 동물의 아이디, 생물 종, 입양일, 이름, 성별 및 중성화 여부를 나타냅니다. NAMETYPENULLABLE ..

SQL - SELECT : 여러 가지 조건 처리

https://school.programmers.co.kr/learn/courses/30/lessons/131120?language=mysql 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 다음은 식당 리뷰 사이트의 회원 정보를 담은 MEMBER_PROFILE 테이블입니다. MEMBER_PROFILE 테이블은 다음과 같으며 MEMBER_ID, MEMBER_NAME, TLNO, GENDER, DATE_OF_BIRTH는 회원 ID, 회원 이름, 회원 연락처, 성별, 생년월일을 의미합니다. Column nameTypeNullable MEMBER_ID..

SQL - SELECT : LIKE, NULL 대체

https://school.programmers.co.kr/learn/courses/30/lessons/131112 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ▶ LIKE를 이용한 검색 검색 조건을 부분적으로만 알고 있다면 LIKE 키워드를 이용해 검색할 수 있다. 검색 조건을 정확히 알면 = 연산자로 조건을 표현하면 되지만 부분적으로만 알고 있다면 = 대신 LIKE 키워드를 사용한다. 단, LIKE 키워드는 문자열을 이용하는 조건에만 사용할 수 있다. LIKE 키워드와 함께 사용할 수 있는 대표 기호는 아래와 같다. 기호 설명 % 0개 이상의 문자 ..

데이터베이스 : SQL

▶ SQL의 소개 SQL(Structured Query Language)은 관계 데이터베이스를 위한 표준 질의어로 많이 사용되는 언어다. SQL은 사용자가 처리를 원하는 데이터가 무엇인지만 제시히고 데이터를 어떻게 처리해야 하는지를 언급할 필요가 없어 비절차적 데이터 언어의 특징을 띤다고 할 수 있다. SQL은 기능에 따라 데이터 정의어(DDL), 데이터 조작어(DML), 데이터 제어어(DCL)로 나눈다. 데이터 정의어(DDL) : 테이블을 생성하고 변경/삭제하는 기능을 제공한다. 데이터 조작어(DML) : 테이블에 새 데이터를 삽입하거나, 테이블에 저장된 데이터를 수정/삭제/검색하는 기능을 제공한다. 데이터 제어어(DCL) : 보안을 위해 데이터에 대한 접근 및 사용 권한을 사용자별로 부여하거나 취소하..

데이터베이스 : 정규화(2) - 기본 정규형과 정규화 과정

※ 기본 정규형과 정규화 과정 ▶ 정규화(Normalization) 개념 함수 종속을 이용해 릴레이션을 연관성이 있는 속성들로만 구성되도록 분해해서, 이상 현상이 발생하지 않는 올바른 릴레이션으로 만들어 가는 과정 정규화 목표 : 관련이 없는 함수 종속성은 별개의 릴레이션으로 표현 주의 사항 정규화는 무손실 분해(nonloss decomposition)를 원칙으로 진행 릴레이션이 의미상 동등한 릴레이션들로 분해되어야 하고, 분해로 인한 정보 손실이 발생하지 않아야함 분해된 릴레이션들을 자연 조인하면 분해 전의 릴레이션으로 복원 가능해야 함 ▶ 정규형 (NF : Normal Form) 릴레이션이 정규화된 정도 각 정규형마다 제약조건이 존재 정규형의 차수가 높아질수록 요구되는 제약조건이 많아지고 엄격함 릴레..

데이터베이스 - 정규화 (1) : 이상 현상과 함수 종속

※ 정규화의 개념과 이상 현상 ▶ 이상(Anomaly) 현상 불필요한 데이터 중복으로 인해 릴레이션에 대한 데이터 삽입/수정/삭제 연산을 수행할 때 발생할 수 있는 부작용 ▶ 정규화(Normalization) 이상 현상을 제거하면서 데이터베이스를 올바르게 설계해 나가는 과정 ▶ 이상 현상의 종류 이상 현상 종류 발생하는 문제 삽입 이상 새 데이터를 삽입하기 위해 불필요한 데이터도 함께 삽입해야 하는 문제 갱신 이상 중복 투플 중 일부만 변경하여 데이터가 불일치하게 되는 모순의 문제 삭제 이상 투플을 삭제하면 꼭 필요한 데이터까지 함께 삭제되는 데이터 손실의 문제 ▶ 이상 현상을 설명하기 위한 릴레이션의 예 고객 아이디 이벤트 번호 당첨 여부 고객이름 등급 apple E001 Y 정소화 gold apple..

데이터베이스 설계 2 - 논리적 설계 / 물리적 설계와 구현

※ 논리적 설계 ▶ 설계 3단계 : 논리적 설계 목적 DBMS에 적합한 논리적 스키마 설계 개념적 스키마를 논리적 데이터 모델을 이용해 논리적 구조로 표현 -> 논리적 모델링 일반적으로 관계 데이터 모델을 많이 이용 결과물 논리적 스키마 : 릴레이션 스키마 주요 작업 개념적 설계 단계의 결과물인 E-R 다이어그램을 릴레이션 스키마로 변환 릴레이션 스키마로 변환 후 속성의 데이터 타입, 길이, 널 값 허용 여부, 기본 값, 제약조건 등을 세부적으로 결정하고 결과를 문서화시킴 E-R 다이어그램을 릴레이션 스키마로 변환하는 규칙 (★) 규칙 1 : 모든 개체는 릴레이션으로 변환한다. 규칙 2 : 다대다(N:M) 관계는 릴레이션으로 변환한다. 규칙 3 : 일대다(1:N) 관계는 외래키로 표현한다. 규칙 4 : ..

데이터베이스 설계 1 - 요구 사항 분석 / 개념적 설계

※ 데이터베이스 설계 단계 ▶ 데이터베이스 설계 → 사용자의 다양한 요구 사항을 고려하여 데이터베이스를 생성하는 과정 ▶ 관계 데이터베이스의 대표적인 설계 방법 E-R 모델과 릴레이션 변환 규칙을 이용한 설계 정규화를 이용한 설계 : 후에 포스팅 예정 ▶ E-R 모델과 릴레이션 변환 규칙을 이용한 설계의 과정 ▶ E-R 모델과 릴레이션 변환 규칙을 이용한 설계의 과정 핵심 단계 : 1, 2, 3단계 1단계 ; 요구 사항 분석 데이터베이스의 용도 파악 결과물 : 요구 사항 명세서 2단계 : 개념적 설계 DBMS에 독립적인 개념적 구조 설계 결과물 : 개념적 스키마 (E-R 다이어그램) 3단계 : 논리적 설계 DBMS에 적합한 논리적 구조 설계 결과물 : 논리적 스키마(릴레이션 스키마) 4단계 : 물리적 설..

728x90
반응형