전체 글(133)
-
[프로그래머스 - JAVA] 실패율
문제 설명 슈퍼 게임 개발자 오렐리는 큰 고민에 빠졌다. 그녀가 만든 프랜즈 오천성이 대성공을 거뒀지만, 요즘 신규 사용자의 수가 급감한 것이다. 원인은 신규 사용자와 기존 사용자 사이에 스테이지 차이가 너무 큰 것이 문제였다. 이 문제를 어떻게 할까 고민 한 그녀는 동적으로 게임 시간을 늘려서 난이도를 조절하기로 했다. 역시 슈퍼 개발자라 대부분의 로직은 쉽게 구현했지만, 실패율을 구하는 부분에서 위기에 빠지고 말았다. 오렐리를 위해 실패율을 구하는 코드를 완성하라. 실패율은 다음과 같이 정의한다. 전체 스테이지의 개수 N, 게임을 이용하는 사용자가 현재 멈춰있는 스테이지의 번호가 담긴 배열 stages가 매개변수로 주어질 때, 실패율이 높은 스테이지부터 내림차순으로 스테이지의 번호가 담겨있는 배열을 ..
2023.12.15 -
[DB] 인덱스
DBMS는 사용자가 만든 테이블을 저장 장치에 저장하고 필요에 따라 검색하여 결과를 보여준다. 그렇다면 DBMS는 데이터를 어떻게 저장하고 검색할까? 이 절에서는 DBMS에서 테이블이 저장되는 물리적인 구조와 함께 대부분의 관계 모델 데이터베이스가 사용하는 인덱스의 기본구조인 B-tree에 대해 알아보자. 데이터베이스의 물리적 저장 우리가 데이블을 생성하고 테이블에 데이터를 저장할 때 DBMS는 데이터를 어디에 어떻게 저장할까? 질문을 바꿔 워드프로세서로 작성한 문서를 어떻게 저장될까? 대부분 첫 번째 질문에 대해서는 선뜻 답하기 어려워도 두 번째 질문에는 쉽게 답할 수 있을 것이다. 워드프로세서로 작성한 문서는 파일 형태로 저장된다. 이 문서 파일은 워드프로세서만의 구조로 이루어져 있다. DBMS 역시..
2023.12.15 -
[DB] 무결성 제약조건
데이터베이스에 저장된 데이터는 결함이 없어야 하며 질의에 대해 신뢰성 있는 답을 제공해야 한다. 예를 들어 사람의 나이를 조회했을 때 200이 나오거나, 대학에서 수강인원이 40명인 과목에 41명이 수강신청이 되는 경우 등은 모두 무결성 제약조건을 위배한 것이다. 데이터를 저장하는데 있어서 데이터베이스는 일관성을 유지하고 중복을 제거하는 등 데이터의 신뢰도를 유지해야 한다. 따라서 데이터의 삽입, 삭제, 수정 시 여러 가지 제약조건이 따른다. 키 관계 데이터베이스에서 키는 릴레이션에서 특정 튜플을 식별할 때 사용하는 속성 혹은 속성의 집합이다. 릴레이션은 중복된 튜플을 허용하지 않기 때문에 각각의 튜플에 포함된 속성들 중 어느 하나이상 값이 달라야 한다. 이제 서점 데이터베이스 예제를 확인하며 키의 종류..
2023.12.14 -
[DB] 관계형 데이터 모델
릴레이션 스키마와 인스턴스 릴레이션 관계형 모델에서 데이터의 관계를 표현하는 개념으로 릴레이션은 두 개 이상의 테이블 간의 관계를 나타낸다. 릴레이션은 스키마와 인스턴스로 이루어진다. 릴레이션 스키마 릴레이션에 어떤 정보가 담길지를 정의한다. 도서 릴레이션의 경우 도서번호, 도서이름, 출판사, 가격이라는 정보를 정의하고 있는데, 각 열을 속성이라고 한다. 속성에는 각각의 이름이 있고 우리는 그 이름을 보고 어떤 정보가 담기는지 알 수 있다. 하지만 컴퓨터로 처리되는 과정에 데이터베이스는 속성의 이름만으로 어떤 형태의 자료가 있는지 알 수 없다. 따라서 각 속성들이 어떤 값을 가질 수 있는지를 도메인이라는 용어를 사용하여 정의한다. 또한 릴레이션이 몇 개의 속성을 가지는가를 나타내기 위해 차수라는 용어를 ..
2023.12.11 -
[DB] 데이터베이스 시스템의 구성
데이터베이스 시스템의 경우 앞에서 간단히 이야기한 3가지 요소로 구성되었다. 데이터베이스 -> 하드 디스크에 저장된 데이터 데이터베이스 관리 시스템 (DBMS) -> 주기억장치에 저장된 소프트웨어 데이터 모델 -> 눈에 보이지 않는 논리적인 개념으로 데이터가 저장되는 기법에 관한 내용이다 데이터베이스 언어 데이터베이스 시스템은 데이터베이스 전용 언어인 SQL을 사용한다. SQL 구성 데이터 정의어 (DDL) CREATE, ALTER, DROP 문과 같이 DBMS에 저장된 테이블 구조를 정의 데이터 조작어 (DML) SELECT, INSERT, DELETE, UPDATE 문과 같이 데이터를 검색, 삽입, 수정, 삭제 하는데 사용 데이터 제어어 (DCL) GRANT, REVOKE 문과 같이 데이터의 사용 권..
2023.12.11 -
[DB] 데이터베이스 시스템
데이터베이스의 개념 및 특징 데이터베이스는 각 조직에서 사용하던 데이터를 모아서 통합하고 공유할 목적으로 구축된다. 데이터베이스의 개념은 4가지로 설명할 수 있다. 개념 통합된 데이터 (integrated data) 여러 곳에서 사용하던 데이터를 통합하여 하나로 저장한 데이터를 말한다. 통합 시 중요한 점은 각자 사용하던 데이터의 중복을 최소화함으로 중복 저장으로 인한 데이터 불일치 현상을 없애는 것이다. 저장된 데이터 (stored data) 컴퓨터 상 가상 공간에 저장된 데이터를 말하는 것이 아닌 실제 우리가 만질 수 있는 물리적인 데이터 저장장치에 저장된 데이터를 말한다 운영 데이터 (operational data) 조직의 목적을 위해 사용되는 데이터를 말하며 업무를 위해 검색을 할 목적으로 저장된..
2023.12.11