정규화(Normalization) 2정규형 부분 함수 종속 제거
정보처리기사 자격증을 준비하면서 정규화를 공부하게 되었는데 2정규형인 부분 함수 종속 제거가 책에 있는 내용들이 입에 착 붙지 않기도 하고, 오픈 강의는 찾아 보기가 힘들어서 정리 해두려고 합니다 ! 우선 정규화에 대해서 알아보자면,  정규화| 관계형 데이터 모델에서 데이터의 중복성을 제거하기 위함이고, | 데이터의 일관성과 정확성을 유지하기 위해 무손슬 분해하는 과정입니다.| 정규화를 하게 되면 이상 현상을 방지 할 수있습니다.| 정규화는 함수 종속 개념을 이용하여 진행합니다.  2정규형 부분 함수 종속 제거| 일부에만 의존하는 관계를 제거 하는것.  예시로 도서대출 테이블도서대출학생번호+도서번호(기본키)대출일자학생이름도서제목 | 학생이름은 학생번호에만 의존합니다.(도서번호와는 관계없음)| 도서제목은 ..
2025.03.19
[정보처리기사] SQL 기본 문법
SQL SQL 구조DDLData Definition Language데이터 정의어DMLData Manipulation Language데이터 조작어DCLData Control Language데이터 제어 언어 정의 DDL| 구조를 만드는 것| CREATE, DROP, ALTER 조작 DML| 데이터를 조작 하는 것 | INSERT, SELECT, DELETE, UPDATE 제어 DCL| 데이터베이스를 전체로 제어하는 것| GRANT, COMMIT, ROLLBALK SQL DML | Data Manipulation Language 데이터 조작어 | 정의된 데이터베이스에 입력된 레코드를 조작, 수정, 삭제하는 등의 역할을 합니다.| 저장된 데이터를 실질적으로 처리하는데 사용합니다.  DML 종류INSERT데이터 ..
2025.03.19
[정보처리기사] 비트(bit)연산자
비트연산자| 비트 연산자는 이진수 표현을 기반으로 한 연산을 수행하는 연산자| 비트 연산자를 수행하기 위해서는 "이진수"로 변환해서 값을 봐야 합니다. &| AND연산자| &하나만 쓰는 연산자는, 앞 뒤를 이진수로 변환 이후 두 비트가 모두 1일 때만 1을 반환.int a = 5;int b = 10;int result = a & b;printf("a & b의 결과 : %d \n", result); // 1 || OR 연산자| 두 비트 중 하나만 1이어도 1을 출력하는 연산자. | 둘 다 0인 경우에만 0으로 작성 int a = 5;int b = 10;int result = a | b;printf("a | b의 결과 : %d \n", result); // 7 ^| XOR연산자| 두 비트가 다른 경우 1을 ..
2025.03.07
[정보처리기사] 정처기 파이썬
Python파이썬의 특징| 타입 명시하지 않음, 모두가 객체(클래스에서 파생)| Python은 동적 타이핑 언어로 변수의 타입을 명시하지 않습니다.| 모든 것이 객체이며, 클래스의 인스턴스로서 메서드를 가질 수 있습니다. | 파이썬은 변수에 값이 들어가면 타입이 정해집니다. python# 변수 타입을 명시하지 않음.x = 10;print(x, type(x)) # 10x = "Hello, World!"print(x, type(x)) # Hello, World! 파이썬 자료형intstrlistdictsettuple | 외적으로도 많지만, 중요한 것 6개만 작성했습니다 ✅ | #bool : 참, 거짓을 대문자로 받습니다. (C , Java : 소문자) | Bool 형태를 숫자로 하면 True은 1, False..
2025.03.07
[정보처리기사] 정처기 자바
C언어랑 Java의 차이점 | 언어구조 | 용어| 코드의 흐름  C Java절차적언어구조"객체"단위로 해석구조체, 함수..용어클래스, 메서드보통 위에서 아래로코드의 흐름여기저기 왔다갔다  생성자클래스 내에서 클래스명과 같은 메서드파라미터가 없는 생성자를 기본생성자라고 합니다.기본생성자는 적어도 되고, 적지 않아도 생성됩니다.  ✔️ | 파라미터가 있는 생성자를 생성하면 기본 생성자는 자동으로 생성되지 않습니다.| 매개변수 없는 생성자가 없는데, 호출하게 되면 컴파일 에러가 발생합니다.  ✅ 클래스 내의 this()는 나 자신의 생성자를 뜻합니다. | this()는 매개변수 없는 것,| this(a, b)는 매개변수를 2개 넣은 것,| this.a는 멤버 변수를 뜻하는 것. ✅ super키워드 | supe..
2025.02.26
C언어 전처리 지시문과 #define
전처리 지시문 C언어에는 소스코드가 컴파일되기 전에 여러가지 전처리 지시문을 제공합니다.제일 많이 보는 것이 #include 입니다.  C언어에서 제공하는 기본 함수들을 사용할 수 있도록 외부에서 기능을 불러온다고 생각하면 됩니다.  #define#define 바로 뒤에 나오는 문자를 그 다음 나오는 문자로 정의하겠다는 뜻입니다.  숫자 예시#include #define PI 3.14159int main(){ double radius1 = 5.0; double radius2 = 10.0; //원의 둘레 계산 double circumference1 = 2 * PI * radius1; double circumference2 = 2 * PI * radius2;} ✅ PI ..
2025.02.21
[정보처리기사] 정처기 실기 매크로, 비트연산
비트연산비트연산자 종류기호의미예&비트 논리곱 (AND)5 & 3|비트 논리합 (OR)5 |3^비트 배타적 논리합 (XOR)5 ^ 3~비트 NOT~5>>비트값을 우측으로 이동5>>3비트값을 좌측으로 이동5 ✅ AND : 두 개가 참일 때 참 | 5 & 3 계산 하려면 10진법 숫자를 2진법으로 먼저 바꿔주어야 합니다. | 0 1 0 1 | 0 0 1 1 | 둘 다 참(1)인 경우는 0 0 0 1 입니다. (1) ✅ OR : 둘 중에 하나라도 참이면 참| 0 1 0 1 | 0 0 1 1| 둘 중에 하나라도 참인 경우는 0 1 1 1 입니다. (7) ✅ XOR : 두 개가 틀려야 참인 것| 0 1 0 1| 0 0 1 1 | 두 값이 틀려야 참이므로 0 1 1 0 입니다. (6) ✅ NOT : | 예시로..
2025.02.18
[정보처리기사] 정처기 실기 전위,후위, 증감 연산
증감 연산int a = 3+5, b=1, c;int ap, bp;ap = a++;bp = ++b;b = 3 * (ap==8);c = 5 * (ap!=8);printf("%d %d %d %d %d", a,b,c,ap,bp); ▶️ 코드 리뷰 | 변수 선언해주는 부분에서 c, ap, bp 는 초기화를 해주지 않았으나 쓰레기 값이 들어가 있는다. | ap = a의 값(8)을 먼저 대입해주고, a의 값을 증가 시킵니다(후위 증가 연산) | a = 9| bp = b의 값(1)을 먼저 증가시키고, bp의 값(2)을 대입시킵니다. bp = 2| b = 3 * (ap ==8) 은 ap의 값이 8과 같으면 true를 리턴해주는데, C에서는 1을 리턴합니다. | c = 5 * (ap != 8) 은 ap의 값이 8과 같지 ..
2025.02.18
C언어 goto문과 continue문
goto 키워드 프로그램의 실행 흐름을 특정 레이블로 이동시키는 데 사용됩니다.이 레이블은 프로그램 내의 다른 위치에 정의된 이름으로, goto 키워드는 이 이름을 참조하여 프로그램 실행을 그 지점으로 이동(즉시)시킵니다.  goto 키워드를 많이 중첩하게 되면 이곳 저곳 막 이동하는 코드가 실행되게 됩니다.이것의 흐름이 스파게티면 같이 얽혀있다고 해서 스파게티 코드라고 말합니다.  goto : 해당 단어로 즉시 이동. 여기서 단어를 label(레이블) 이라고 말함.  goto 예시 코드 (1)#include int main() { printf("첫 번째 출력문입니다.\n"); printf("두 번째 출력문입니다.\n"); goto third; //third 레이블로 이동 printf("이 문장은 보이..
2025.01.31