릴레이션의 키

- 각 투플을 고유하게 식별할 수 있는 하나 이상의 애트리뷰트들의 모임

 

키의 유형 정의
수퍼 키 한 릴레이션 내의 특정 투플을 고유하게 식별하는 하나의 애트리뷰트 또는 애트리뷰트의 집합
후보 키 각 투플을 고유하게 식별하는 최소한의 애트리뷰트들의 모임
기본 키 후보 키가 두 개 이 상 있으면 설계자 또는 데이터베이스 관리자가 이들 중에서 하나를 기본키로 선정
대리 키 인위적으로 추가된 기본 키
대체 키 기본 키로 선정되지 않은 후보 키
외래 키 어떤 릴레이션의 기본 키를 참조하는 애트리뷰트

릴레이션 : 2차원의 테이블

레코드, 투플 : 릴레이션의 각 행

애트리뷰트 : 릴레이션에서 이름을 가진 하나의 열

 

 

'서버 공부 > DB 공부' 카테고리의 다른 글

INNER JOIN vs OUTER JOIN 차이점  (0) 2022.03.01
Chapter 01 데이터베이스 시스템  (0) 2018.01.02

https://programmers.co.kr/learn/courses/30/lessons/1845

 

코딩테스트 연습 - 폰켓몬

당신은 폰켓몬을 잡기 위한 오랜 여행 끝에, 홍 박사님의 연구실에 도착했습니다. 홍 박사님은 당신에게 자신의 연구실에 있는 총 N 마리의 폰켓몬 중에서 N/2마리를 가져가도 좋다고 했습니다.

programmers.co.kr

문제 접근 풀이

1. 폰켓몬 종류의 최대값을 return하면 되니까 같은 값의 경우 무시하고 다른 값들에 대해서 접근한다

2. 정렬을 해놓은 상태로 접근하면 한번의 for문으로 중복된 값을 신경쓰지 않고 처리할 수 있다고 생각했다

3. 정렬을 하고 같은 값인 경우 넘어가고 아닌 경우의 값을 저장하여 비교한다 answer의 값은 1 증가시켜준다

이상태로 제출하니 맞고 틀리고 하는 상황이 발생했는데

폰켓몬을 선택할 수 있는 것은 총 수의 n/2 이므로 마지막에 조건을 추가해주어 정답에 도출하게 되었다

 

총코드

#include <vector>
#include <algorithm>
using namespace std;

int solution(vector<int> nums)
{
    int answer = 1;
    sort(nums.begin(),nums.end());
    int tempNum = nums[0];
    for(auto i : nums)
    {
       if(tempNum == i)
           continue;
        else
        {
            tempNum = i;
            answer++;
        }
    }
    if(answer > nums.size()/2)
        return nums.size()/2;
    return answer;
}

2.1 컴퓨터 네트워크를 구성하는 기기

컴퓨터 네트워크

- 단말기와 네트워크 기기로 구성

단말기

- 통신을 하는 주체

- 무선, 유선 네트워크 연결 단자를 가진 일반적인 컴퓨터를 의미

- 클라이언트와 서버로 구분

클라이언트

- 사람이 만지는 컴퓨터를 의미

서버

- 단말기에 서비스를 제공하는 무인  컴퓨터

- 클라이언트에서 오는 데이터를 받아 처리한 후 결과를 회신하는 역할

가장 기본적인 컴퓨터 네트워크 구성

- 두 단말기를 직접 네트워크 케이블로 연결하는 것

링 위상

- 단말기 세대 이상 간에 통신하는 방법

- 컴퓨터 한대 한대를 거쳐서 목적지로 보내는 방법

- 교실에서 맨 앞의 학생이 맨 뒤에 학생에게 비밀 쪽지를 전달하는 방법

별 위상

- 네트워크 기기를 사용하여 통신하는 방법

- 네트워크 스위치 하나를 사이에 두고 별 모양으로 단말기들이 연결되어 있는 것

- 로컬 지역 네트워크, LAN 이라고도 한다

- OSI 모델의 표준만 지켜주면 통신 할 수 있다.

 

2.1.1 OSI 모델

OSI(Open System Interconnection reference)

- 7계층으로 이루어진 국제 표준 모델

 

계층 1 : 물리 계층

- 하드웨어를 다룬다

- 보낼 데이터를 어떤 파형의 전류로 보낼지 등을 정의

계층 2 : 데이터 링크 계층

- 로컬 지역 네트워크(LAN)에서 통신을 가능하게 한다.

- 데이터가 변조 없이 가게한다. (반드시 가게하는 것은 아니다)

계층 3 : 네트워크 계층

- 광역 통신망(WAN)에서 통신을 가능하게 한다.

계층 4 : 전송 계층

- 데이터가 상대방에게 반드시 도착하게 한다.

계층 5 : 세션 계층

계층 6 : 표현 계층

계층 7 : 응용 계층

응용프로그램이나 운영체제 안 모듈이 다른 컴퓨터의 응용 프로그램이나 운영체제 모듈과 통신을 하는 동안

논리적 연결 단위나 기능들을 다루는 계층 5~7계층

 

2.22 인터넷

 

+ Recent posts